add: move config to individual file

This commit is contained in:
asep komarudin 2024-03-01 15:19:53 +07:00
parent 554d68c7ae
commit 549a63a3da
9 changed files with 291 additions and 187 deletions

View file

@ -23,12 +23,12 @@
"mason-lspconfig.nvim": { "branch": "main", "commit": "56e435e09f8729af2d41973e81a0db440f8fe9c9" },
"mason-null-ls.nvim": { "branch": "main", "commit": "e270134d83ba59425edc53356c6fd337b61bb8dd" },
"mason.nvim": { "branch": "main", "commit": "c43eeb5614a09dc17c03a7fb49de2e05de203924" },
"mini.animate": { "branch": "main", "commit": "626c51eba5d344572d6da0938044a73369de8b8b" },
"mini.animate": { "branch": "main", "commit": "82519630b2760ffc516ebc387bef632f9c07b9f5" },
"mini.indentscope": { "branch": "main", "commit": "cf07f19e718ebb0bcc5b00999083ce11c37b8d40" },
"neoscroll.nvim": { "branch": "master", "commit": "6e3546751076890304428150e53bd59198a4505d" },
"noice.nvim": { "branch": "main", "commit": "92433164e2f7118d4122c7674c3834d9511722ba" },
"none-ls-extras.nvim": { "branch": "main", "commit": "c226aca7a506dd4325fb96188bffe804d24bbf18" },
"none-ls.nvim": { "branch": "main", "commit": "2236d2bf621b64ccbceebc452137b25ecc7f6228" },
"none-ls.nvim": { "branch": "main", "commit": "e6d3abffa77597dac35de723e11daaee2fafce77" },
"nui.nvim": { "branch": "main", "commit": "a0fd35fcbb4cb479366f1dc5f20145fd718a3733" },
"nvim-autopairs": { "branch": "master", "commit": "c6139ca0d5ad7af129ea6c89cb4c56093f2c034a" },
"nvim-cmp": { "branch": "main", "commit": "04e0ca376d6abdbfc8b52180f8ea236cbfddf782" },
@ -46,7 +46,7 @@
"nvim-ts-rainbow2": { "branch": "master", "commit": "b3120cd5ae9ca524af9cb602f41e12e301fa985f" },
"nvim-web-devicons": { "branch": "master", "commit": "a55b801b7ef5719ca25692c3a0a5447fdfb692ed" },
"plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" },
"smart-splits.nvim": { "branch": "master", "commit": "e1e1e6ca3754bd8ef971fb69673cc17965eb9e37" },
"smart-splits.nvim": { "branch": "master", "commit": "1339ffe7426d1b20f179ffc03f858eaab38376c0" },
"telescope.nvim": { "branch": "master", "commit": "5f5fc3aa75e9fc824d4fbbb5de31f172b43f620d" },
"toggleterm.nvim": { "branch": "main", "commit": "193786e0371e3286d3bc9aa0079da1cd41beaa62" },
"tokyonight.nvim": { "branch": "main", "commit": "67c6050e1ca41260c919236a098ba278472c7520" },

View file

@ -1,68 +1,68 @@
local servers = {
"lua_ls",
"lua_ls",
}
local function idxOf(array, value)
for i, v in ipairs(array) do
if v == value then
return i
end
end
return nil
for i, v in ipairs(array) do
if v == value then
return i
end
end
return nil
end
local data_exists, custom_lsp = pcall(require, "core.config")
if data_exists then
for _, client in pairs(custom_lsp.mason_ensure_installed) do
table.insert(servers, client)
end
for _, client in pairs(custom_lsp.mason_ensure_installed) do
table.insert(servers, client)
end
end
local unregis_lsp = {}
local data_ok, unregis = pcall(require, "core.config")
if data_ok then
if unregis.unregister_lsp ~= nil then
unregis_lsp = unregis.unregister_lsp
end
if unregis.unregister_lsp ~= nil then
unregis_lsp = unregis.unregister_lsp
end
end
local settings = {
ui = {
border = "none",
icons = {
-- package_installed = "◍",
-- package_pending = "◍",
-- package_uninstalled = "◍",
package_pending = "",
package_installed = "",
package_uninstalled = "",
},
keymaps = {
-- Keymap to expand a server in the UI
toggle_server_expand = "<CR>",
-- Keymap to install the server under the current cursor position
install_server = "i",
-- Keymap to reinstall/update the server under the current cursor position
update_server = "u",
-- Keymap to check for new version for the server under the current cursor position
check_server_version = "c",
-- Keymap to update all installed servers
update_all_servers = "U",
-- Keymap to check which installed servers are outdated
check_outdated_servers = "C",
-- Keymap to uninstall a server
uninstall_server = "X",
},
},
log_level = vim.log.levels.INFO,
max_concurrent_installers = 4,
ui = {
border = "none",
icons = {
-- package_installed = "◍",
-- package_pending = "◍",
-- package_uninstalled = "◍",
package_pending = "",
package_installed = "",
package_uninstalled = "",
},
keymaps = {
-- Keymap to expand a server in the UI
toggle_server_expand = "<CR>",
-- Keymap to install the server under the current cursor position
install_server = "i",
-- Keymap to reinstall/update the server under the current cursor position
update_server = "u",
-- Keymap to check for new version for the server under the current cursor position
check_server_version = "c",
-- Keymap to update all installed servers
update_all_servers = "U",
-- Keymap to check which installed servers are outdated
check_outdated_servers = "C",
-- Keymap to uninstall a server
uninstall_server = "X",
},
},
log_level = vim.log.levels.INFO,
max_concurrent_installers = 4,
}
require("mason").setup(settings)
-- * buka remark ini jika akan menggunakan list serverrs diatas dan remark config dibawah
require("mason-lspconfig").setup({
ensure_installed = servers,
automatic_installation = true,
ensure_installed = servers,
automatic_installation = true,
})
--
-- * buka remark ini jika ingin menjalankan dengan cara install dan remark config diatas (pilih satu)
@ -70,151 +70,151 @@ require("mason-lspconfig").setup({
local lspconfig_status_ok, lspconfig = pcall(require, "lspconfig")
if not lspconfig_status_ok then
return
return
end
local opts = {}
require("mason-lspconfig").setup_handlers({
function(server_name) -- default handler (optional)
local is_skip = false
local my_index = idxOf(unregis_lsp, server_name)
if my_index ~= nil then
is_skip = true
end
if not is_skip then
-- if server_name == "lua_ls" then
-- server_name = "sumneko_lua"
-- end
opts = {
on_attach = require("user.lsp.handlers").on_attach,
capabilities = require("user.lsp.handlers").capabilities,
}
function(server_name) -- default handler (optional)
local is_skip = false
local my_index = idxOf(unregis_lsp, server_name)
if my_index ~= nil then
is_skip = true
end
if not is_skip then
-- if server_name == "lua_ls" then
-- server_name = "sumneko_lua"
-- end
opts = {
on_attach = require("user.lsp.handlers").on_attach,
capabilities = require("user.lsp.handlers").capabilities,
}
server_name = vim.split(server_name, "@")[1]
server_name = vim.split(server_name, "@")[1]
local require_ok, conf_opts = pcall(require, "user.lsp.settings." .. server_name)
if require_ok then
opts = vim.tbl_deep_extend("force", conf_opts, opts)
end
lspconfig[server_name].setup(opts)
end
end,
-- Next, you can provide targeted overrides for specific servers.
-- ["rust_analyzer"] = function()
-- require("rust-tools").setup({})
-- end,
-- ["lua_ls"] = function()
-- lspconfig.sumneko_lua.setup({
-- settings = {
-- Lua = {
-- diagnostics = {
-- globals = { "vim" },
-- },
-- },
-- },
-- })
-- end,
["tsserver"] = function()
lspconfig.tsserver.setup({
on_attach = require("user.lsp.handlers").on_attach,
capabilities = require("user.lsp.handlers").capabilities,
-- add cmd
cmd = { "typescript-language-server", "--stdio" },
-- add file type support
filetypes = {
"javascript",
"javascriptreact",
"javascript.jsx",
"typescript",
"typescriptreact",
"typescript.tsx",
},
-- add dynamic root dir support
root_dir = require("lspconfig.util").root_pattern("package.json", "tsconfig.json", "jsconfig.json", ".git"),
init_options = {
hostInfo = "neovim",
},
})
end,
["emmet_ls"] = function()
lspconfig.emmet_ls.setup({
on_attach = require("user.lsp.handlers").on_attach,
capabilities = require("user.lsp.handlers").capabilities,
-- add cmd
cmd = { "emmet-ls", "-c", "--stdio" },
-- add file type support
-- filetypes = {
-- "javascript",
-- "javascriptreact",
-- "javascript.jsx",
-- "typescript",
-- "typescriptreact",
-- "typescript.tsx",
-- "astro",
-- "css",
-- "eruby",
-- "html",
-- "htmldjango",
-- "less",
-- "pug",
-- "sass",
-- "scss",
-- "svelte",
-- "vue" -- },
-- add dynamic root dir support
root_dir = require("lspconfig.util").root_pattern("package.json", "tsconfig.json", "jsconfig.json", ".git"),
})
end,
["eslint"] = function()
lspconfig.eslint.setup({
on_attach = require("user.lsp.handlers").on_attach,
capabilities = require("user.lsp.handlers").capabilities,
-- add cmd
cmd = { "vscode-eslint-language-server", "--stdio" }, -- add file type support
filetypes = {
"javascript",
"javascriptreact",
"javascript.jsx",
"typescript",
"typescriptreact",
"typescript.tsx",
},
-- add dynamic root dir support
root_dir = require("lspconfig.util").root_pattern("package.json", "tsconfig.json", "jsconfig.json", ".git"),
})
end,
["kotlin_language_server"] = function()
lspconfig.kotlin_language_server.setup({
on_attach = require("user.lsp.handlers").on_attach,
capabilities = require("user.lsp.handlers").capabilities,
cmd = { "kotlin-language-server" },
filetypes = { "kotlin" },
root_dir = require("lspconfig.util").root_pattern(
"build.gradle.kts",
"build.gradle",
"settings.gradle",
"gradlew",
"pom.xml",
"build.gradle.kts",
"build.kts",
".git"
),
})
end,
["clangd"] = function()
lspconfig.clangd.setup({
on_attach = require("user.lsp.handlers").on_attach,
capabilities = require("user.lsp.handlers").capabilities,
root_dir = require("lspconfig.util").root_pattern(
"build",
"compile_commands.json",
".git",
"mvnw",
"gradlew",
"pom.xml",
"build.gradle"
) or vim.loop.cwd() or vim.fn.getcwd(),
})
end,
local require_ok, conf_opts = pcall(require, "user.lsp.settings." .. server_name)
if require_ok then
opts = vim.tbl_deep_extend("force", conf_opts, opts)
end
lspconfig[server_name].setup(opts)
end
end,
-- Next, you can provide targeted overrides for specific servers.
-- ["rust_analyzer"] = function()
-- require("rust-tools").setup({})
-- end,
-- ["lua_ls"] = function()
-- lspconfig.sumneko_lua.setup({
-- settings = {
-- Lua = {
-- diagnostics = {
-- globals = { "vim" },
-- },
-- },
-- },
-- })
-- end,
-- ["tsserver"] = function()
-- lspconfig.tsserver.setup({
-- on_attach = require("user.lsp.handlers").on_attach,
-- capabilities = require("user.lsp.handlers").capabilities,
-- -- add cmd
-- cmd = { "typescript-language-server", "--stdio" },
-- -- add file type support
-- filetypes = {
-- "javascript",
-- "javascriptreact",
-- "javascript.jsx",
-- "typescript",
-- "typescriptreact",
-- "typescript.tsx",
-- },
-- -- add dynamic root dir support
-- root_dir = require("lspconfig.util").root_pattern("package.json", "tsconfig.json", "jsconfig.json", ".git"),
-- init_options = {
-- hostInfo = "neovim",
-- },
-- })
-- end,
-- ["emmet_ls"] = function()
-- lspconfig.emmet_ls.setup({
-- on_attach = require("user.lsp.handlers").on_attach,
-- capabilities = require("user.lsp.handlers").capabilities,
-- -- add cmd
-- cmd = { "emmet-ls", "-c", "--stdio" },
-- -- add file type support
-- -- filetypes = {
-- -- "javascript",
-- -- "javascriptreact",
-- -- "javascript.jsx",
-- -- "typescript",
-- -- "typescriptreact",
-- -- "typescript.tsx",
-- -- "astro",
-- -- "css",
-- -- "eruby",
-- -- "html",
-- -- "htmldjango",
-- -- "less",
-- -- "pug",
-- -- "sass",
-- -- "scss",
-- -- "svelte",
-- -- "vue" -- },
-- -- add dynamic root dir support
-- root_dir = require("lspconfig.util").root_pattern("package.json", "tsconfig.json", "jsconfig.json", ".git"),
-- })
-- end,
-- ["eslint"] = function()
-- lspconfig.eslint.setup({
-- on_attach = require("user.lsp.handlers").on_attach,
-- capabilities = require("user.lsp.handlers").capabilities,
-- -- add cmd
-- cmd = { "vscode-eslint-language-server", "--stdio" }, -- add file type support
-- filetypes = {
-- "javascript",
-- "javascriptreact",
-- "javascript.jsx",
-- "typescript",
-- "typescriptreact",
-- "typescript.tsx",
-- },
-- -- add dynamic root dir support
-- root_dir = require("lspconfig.util").root_pattern("package.json", "tsconfig.json", "jsconfig.json", ".git"),
-- })
-- end,
-- ["kotlin_language_server"] = function()
-- lspconfig.kotlin_language_server.setup({
-- on_attach = require("user.lsp.handlers").on_attach,
-- capabilities = require("user.lsp.handlers").capabilities,
-- cmd = { "kotlin-language-server" },
-- filetypes = { "kotlin" },
-- root_dir = require("lspconfig.util").root_pattern(
-- "build.gradle.kts",
-- "build.gradle",
-- "settings.gradle",
-- "gradlew",
-- "pom.xml",
-- "build.gradle.kts",
-- "build.kts",
-- ".git"
-- ),
-- })
-- end,
-- ["clangd"] = function()
-- lspconfig.clangd.setup({
-- on_attach = require("user.lsp.handlers").on_attach,
-- capabilities = require("user.lsp.handlers").capabilities,
-- root_dir = require("lspconfig.util").root_pattern(
-- "build",
-- "compile_commands.json",
-- ".git",
-- "mvnw",
-- "gradlew",
-- "pom.xml",
-- "build.gradle"
-- ) or vim.loop.cwd() or vim.fn.getcwd(),
-- })
-- end,
})

View file

@ -0,0 +1,11 @@
return {
root_dir = require("lspconfig.util").root_pattern(
"build",
"compile_commands.json",
".git",
"mvnw",
"gradlew",
"pom.xml",
"build.gradle"
) or vim.loop.cwd() or vim.fn.getcwd(),
}

View file

@ -0,0 +1,24 @@
return {
cmd = { "emmet-ls", "-c", "--stdio" },
-- add file type support
-- filetypes = {
-- "javascript",
-- "javascriptreact",
-- "javascript.jsx",
-- "typescript",
-- "typescriptreact",
-- "typescript.tsx",
-- "astro",
-- "css",
-- "eruby",
-- "html",
-- "htmldjango",
-- "less",
-- "pug",
-- "sass",
-- "scss",
-- "svelte",
-- "vue" -- },
-- add dynamic root dir support
root_dir = require("lspconfig.util").root_pattern("package.json", "tsconfig.json", "jsconfig.json", ".git"),
}

View file

@ -0,0 +1,13 @@
return {
cmd = { "vscode-eslint-language-server", "--stdio" }, -- add file type support
filetypes = {
"javascript",
"javascriptreact",
"javascript.jsx",
"typescript",
"typescriptreact",
"typescript.tsx",
},
-- add dynamic root dir support
root_dir = require("lspconfig.util").root_pattern("package.json", "tsconfig.json", "jsconfig.json", ".git"),
}

View file

@ -0,0 +1,14 @@
return {
cmd = { "kotlin-language-server" },
filetypes = { "kotlin" },
root_dir = require("lspconfig.util").root_pattern(
"build.gradle.kts",
"build.gradle",
"settings.gradle",
"gradlew",
"pom.xml",
"build.gradle.kts",
"build.kts",
".git"
),
}

View file

@ -9,7 +9,13 @@ return {
library = {
[vim.fn.expand("$VIMRUNTIME/lua")] = true,
[vim.fn.stdpath("config") .. "/lua"] = true,
[vim.fn.expand("$VIMRUNTIME")] = true,
["${3rd}/busted/library"] = true,
["${3rd}/luassert/library"] = true,
["${3rd}/luv/library"] = true,
},
maxPreload = 5000,
preloadFileSize = 10000,
},
},
},

View file

@ -0,0 +1,18 @@
return {
-- add cmd
cmd = { "typescript-language-server", "--stdio" },
-- add file type support
filetypes = {
"javascript",
"javascriptreact",
"javascript.jsx",
"typescript",
"typescriptreact",
"typescript.tsx",
},
-- add dynamic root dir support
root_dir = require("lspconfig.util").root_pattern("package.json", "tsconfig.json", "jsconfig.json", ".git"),
init_options = {
hostInfo = "neovim",
},
}

View file

@ -113,6 +113,18 @@ material_icon.setup({
web_devicons.setup({
override = material_icon.get_icons(),
override_by_filename = {
[".profile"] = {
icon = "󰙄",
color = "#9C9C9C",
cterm_color = "240",
name = "profiledata",
},
[".eslint_d"] = {
icon = "󰱺",
color = "#4930bd",
cterm_color = "240",
name = "eslintd",
},
[".eslintrc.cjs"] = {
icon = "󰱺",
color = "#4930bd",
@ -137,6 +149,12 @@ web_devicons.setup({
cterm_color = "240",
name = "prettierrc",
},
[".prettierd"] = {
icon = "",
color = "#ea5e5e",
cterm_color = "240",
name = "prettierd",
},
[".vscodeignore"] = {
icon = "",
color = "#30A2FF",