mirror of
https://github.com/pojokcodeid/nvim-lazy.git
synced 2025-06-21 16:39:04 +02:00
add: unregister lsp
This commit is contained in:
parent
7efd41b1ba
commit
b04a8d86c6
3 changed files with 163 additions and 53 deletions
51
ftplugin/cpp.lua
Normal file
51
ftplugin/cpp.lua
Normal file
|
@ -0,0 +1,51 @@
|
|||
-- local lspconfig_status_ok, lspconfig = pcall(require, "lspconfig")
|
||||
-- if not lspconfig_status_ok then
|
||||
-- return
|
||||
-- end
|
||||
--
|
||||
-- local status_ok, configs = pcall(require, "nvim-treesitter.configs")
|
||||
-- if not status_ok then
|
||||
-- return
|
||||
-- end
|
||||
--
|
||||
-- local mason_ok, mason_lsp = pcall(require, "mason-lspconfig")
|
||||
-- if not mason_ok then
|
||||
-- return
|
||||
-- end
|
||||
--
|
||||
-- mason_lsp.setup({
|
||||
-- ensure_installed = { "clangd" },
|
||||
-- automatic_installation = true,
|
||||
-- })
|
||||
--
|
||||
-- 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(),
|
||||
-- })
|
||||
--
|
||||
-- configs.setup({
|
||||
-- ensure_installed = { "cpp" }, -- pastikan parser TypeScript terinstal
|
||||
-- highlight = {
|
||||
-- enable = true, -- aktifkan highlight berbasis treesitter
|
||||
-- additional_vim_regex_highlighting = false,
|
||||
-- },
|
||||
-- rainbow = {
|
||||
-- enable = false,
|
||||
-- },
|
||||
-- incremental_selection = { enable = true },
|
||||
-- indent = { enable = true, disable = { "python", "css" } },
|
||||
-- autopairs = {
|
||||
-- enable = true,
|
||||
-- },
|
||||
-- })
|
||||
--
|
||||
-- require("nvim-ts-autotag").setup()
|
|
@ -8,6 +8,21 @@ if not lspconfig_status_ok then
|
|||
return
|
||||
end
|
||||
|
||||
local status_ok, configs = pcall(require, "nvim-treesitter.configs")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
|
||||
local mason_ok, mason_lsp = pcall(require, "mason-lspconfig")
|
||||
if not mason_ok then
|
||||
return
|
||||
end
|
||||
|
||||
mason_lsp.setup({
|
||||
ensure_installed = { "kotlin_language_server" },
|
||||
automatic_installation = true,
|
||||
})
|
||||
|
||||
lspconfig.kotlin_language_server.setup({
|
||||
on_attach = require("user.lsp.handlers").on_attach,
|
||||
capabilities = require("user.lsp.handlers").capabilities,
|
||||
|
@ -24,3 +39,21 @@ lspconfig.kotlin_language_server.setup({
|
|||
".git"
|
||||
),
|
||||
})
|
||||
|
||||
configs.setup({
|
||||
ensure_installed = { "kotlin" }, -- pastikan parser TypeScript terinstal
|
||||
highlight = {
|
||||
enable = true, -- aktifkan highlight berbasis treesitter
|
||||
additional_vim_regex_highlighting = false,
|
||||
},
|
||||
rainbow = {
|
||||
enable = false,
|
||||
},
|
||||
incremental_selection = { enable = true },
|
||||
indent = { enable = true, disable = { "python", "css" } },
|
||||
autopairs = {
|
||||
enable = true,
|
||||
},
|
||||
})
|
||||
|
||||
require("nvim-ts-autotag").setup()
|
||||
|
|
|
@ -3,61 +3,87 @@ if not lspconfig_status_ok then
|
|||
return
|
||||
end
|
||||
|
||||
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",
|
||||
},
|
||||
})
|
||||
local function idxOf(array, value)
|
||||
for i, v in ipairs(array) do
|
||||
if v == value then
|
||||
return i
|
||||
end
|
||||
end
|
||||
return nil
|
||||
end
|
||||
|
||||
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",
|
||||
},
|
||||
-- add dynamic root dir support
|
||||
root_dir = require("lspconfig.util").root_pattern("package.json", "tsconfig.json", "jsconfig.json", ".git"),
|
||||
})
|
||||
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
|
||||
end
|
||||
|
||||
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"),
|
||||
})
|
||||
local idxts = idxOf(unregis_lsp, "tsserver")
|
||||
if idxts ~= nil then
|
||||
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
|
||||
|
||||
local idxemmet = idxOf(unregis_lsp, "emmet_ls")
|
||||
if idxemmet ~= nil then
|
||||
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",
|
||||
},
|
||||
-- add dynamic root dir support
|
||||
root_dir = require("lspconfig.util").root_pattern("package.json", "tsconfig.json", "jsconfig.json", ".git"),
|
||||
})
|
||||
end
|
||||
|
||||
local idxeslint = idxOf(unregis_lsp, "eslint")
|
||||
if idxeslint ~= nil then
|
||||
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
|
||||
|
||||
local status_ok, configs = pcall(require, "nvim-treesitter.configs")
|
||||
if not status_ok then
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue