summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbouzar Parvan <[email protected]>2021-08-20 16:34:02 +0430
committerGitHub <[email protected]>2021-08-20 14:04:02 +0200
commit2bcbed14999f3c846028037c56ca855ef374d86c (patch)
tree3f2a46331a0101a66d3a86730547dfa5b0c53d86
parent85fe093efb8353552171575809c02a5e9124fa68 (diff)
[feature] Move common parts of language server setup to lsp/init (#1355)
* moving common parts of language server setup to lsp/init * fix formatting
-rw-r--r--lua/default-config.lua154
-rw-r--r--lua/lsp/init.lua11
2 files changed, 13 insertions, 152 deletions
diff --git a/lua/default-config.lua b/lua/default-config.lua
index 25e1d04a..e88fee8d 100644
--- a/lua/default-config.lua
+++ b/lua/default-config.lua
@@ -115,10 +115,6 @@ lvim = {
}
local schemas = nil
-local lsp = require "lsp"
-local common_on_attach = lsp.common_on_attach
-local common_capabilities = lsp.common_capabilities()
-local common_on_init = lsp.common_on_init
local status_ok, jsonls_settings = pcall(require, "nlspsettings.jsonls")
if status_ok then
schemas = jsonls_settings.get_default_schemas()
@@ -151,9 +147,6 @@ lvim.lang = {
provider = "beancount",
setup = {
cmd = { "beancount-langserver" },
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -180,9 +173,6 @@ lvim.lang = {
"--clang-tidy",
"--clang-tidy-checks=-*,llvm-*,clang-analyzer-*",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -209,9 +199,6 @@ lvim.lang = {
"--clang-tidy",
"--clang-tidy-checks=-*,llvm-*,clang-analyzer-*",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -227,9 +214,6 @@ lvim.lang = {
provider = "crystalline",
setup = {
cmd = { "crystalline" },
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -254,9 +238,6 @@ lvim.lang = {
"--hostPID",
tostring(vim.fn.getpid()),
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -274,9 +255,6 @@ lvim.lang = {
cmd = {
DATA_PATH .. "/lspinstall/cmake/venv/bin/cmake-language-server",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -289,9 +267,6 @@ lvim.lang = {
cmd = {
DATA_PATH .. "/lspinstall/clojure/clojure-lsp",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -315,9 +290,6 @@ lvim.lang = {
DATA_PATH .. "/lspinstall/css/vscode-css/css-language-features/server/dist/node/cssServerMain.js",
"--stdio",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -341,9 +313,6 @@ lvim.lang = {
DATA_PATH .. "/lspinstall/css/vscode-css/css-language-features/server/dist/node/cssServerMain.js",
"--stdio",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -359,9 +328,6 @@ lvim.lang = {
provider = "serve_d",
setup = {
cmd = { "serve-d" },
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -381,9 +347,6 @@ lvim.lang = {
"/usr/lib/dart/bin/snapshots/analysis_server.dart.snapshot",
"--lsp",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -397,9 +360,6 @@ lvim.lang = {
DATA_PATH .. "/lspinstall/dockerfile/node_modules/.bin/docker-langserver",
"--stdio",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -417,9 +377,6 @@ lvim.lang = {
cmd = {
DATA_PATH .. "/lspinstall/elixir/elixir-ls/language_server.sh",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -437,8 +394,6 @@ lvim.lang = {
cmd = {
DATA_PATH .. "/lspinstall/elm/node_modules/.bin/elm-language-server",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
-- init_options = {
-- elmAnalyseTrigger = "change",
-- elmFormatPath = DATA_PATH .. "/lspinstall/elm/node_modules/.bin/elm-format",
@@ -462,9 +417,6 @@ lvim.lang = {
cmd = {
"erlang_ls",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -479,11 +431,7 @@ lvim.lang = {
linters = {},
lsp = {
provider = "",
- setup = {
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
- },
+ setup = {},
},
},
fortran = {
@@ -495,9 +443,6 @@ lvim.lang = {
cmd = {
DATA_PATH .. "/lspinstall/fortran/venv/bin/fortls",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -523,9 +468,6 @@ lvim.lang = {
cmd = {
DATA_PATH .. "/lspinstall/go/gopls",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -541,9 +483,6 @@ lvim.lang = {
"-m",
"stream",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -554,9 +493,6 @@ lvim.lang = {
provider = "hls",
setup = {
cmd = { DATA_PATH .. "/lspinstall/haskell/hls" },
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -580,9 +516,6 @@ lvim.lang = {
DATA_PATH .. "/lspinstall/html/vscode-html/html-language-features/server/dist/node/htmlServerMain.js",
"--stdio",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -602,9 +535,6 @@ lvim.lang = {
provider = "jdtls",
setup = {
cmd = { DATA_PATH .. "/lspinstall/java/jdtls.sh" },
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -632,9 +562,6 @@ lvim.lang = {
DATA_PATH .. "/lspinstall/json/vscode-json/json-language-features/server/dist/node/jsonServerMain.js",
"--stdio",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
settings = {
json = {
schemas = schemas,
@@ -669,9 +596,6 @@ lvim.lang = {
-- vim.fn.expand "~/.config/nvim/lua/lsp/julia/run.jl",
CONFIG_PATH .. "/utils/julia/run.jl",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -684,8 +608,6 @@ lvim.lang = {
cmd = {
DATA_PATH .. "/lspinstall/kotlin/server/bin/kotlin-language-server",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
root_dir = function(fname)
local util = require "lspconfig/util"
@@ -725,9 +647,6 @@ lvim.lang = {
"-E",
DATA_PATH .. "/lspinstall/lua/main.lua",
},
- capabilities = common_capabilities,
- on_attach = common_on_attach,
- on_init = common_on_init,
settings = {
Lua = {
runtime = {
@@ -811,8 +730,6 @@ lvim.lang = {
DATA_PATH .. "/lspinstall/php/node_modules/.bin/intelephense",
"--stdio",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
filetypes = { "php", "phtml" },
settings = {
intelephense = {
@@ -834,9 +751,6 @@ lvim.lang = {
DATA_PATH .. "/lspinstall/puppet/puppet-editor-services/puppet-languageserver",
"--stdio",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -865,9 +779,6 @@ lvim.lang = {
DATA_PATH .. "/lspinstall/typescript/node_modules/.bin/typescript-language-server",
"--stdio",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -895,9 +806,6 @@ lvim.lang = {
DATA_PATH .. "/lspinstall/typescript/node_modules/.bin/typescript-language-server",
"--stdio",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -920,9 +828,6 @@ lvim.lang = {
DATA_PATH .. "/lspinstall/python/node_modules/.bin/pyright-langserver",
"--stdio",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -945,9 +850,6 @@ lvim.lang = {
"-e",
"languageserver::run()",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -966,9 +868,6 @@ lvim.lang = {
DATA_PATH .. "/lspinstall/ruby/solargraph/solargraph",
"stdio",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
filetypes = { "ruby" },
init_options = {
formatting = true,
@@ -999,9 +898,6 @@ lvim.lang = {
cmd = {
DATA_PATH .. "/lspinstall/rust/rust-analyzer",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -1015,11 +911,7 @@ lvim.lang = {
linters = { "" },
lsp = {
provider = "metals",
- setup = {
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
- },
+ setup = {},
},
},
sh = {
@@ -1037,9 +929,6 @@ lvim.lang = {
DATA_PATH .. "/lspinstall/bash/node_modules/.bin/bash-language-server",
"start",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -1053,9 +942,6 @@ lvim.lang = {
DATA_PATH .. "/lspinstall/svelte/node_modules/.bin/svelteserver",
"--stdio",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -1074,9 +960,6 @@ lvim.lang = {
"xcrun",
"sourcekit-lsp",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -1107,9 +990,6 @@ lvim.lang = {
DATA_PATH .. "/lspinstall/terraform/terraform-ls",
"serve",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -1120,9 +1000,6 @@ lvim.lang = {
provider = "texlab",
setup = {
cmd = { DATA_PATH .. "/lspinstall/latex/texlab" },
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -1150,9 +1027,6 @@ lvim.lang = {
DATA_PATH .. "/lspinstall/typescript/node_modules/.bin/typescript-language-server",
"--stdio",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -1181,9 +1055,6 @@ lvim.lang = {
DATA_PATH .. "/lspinstall/typescript/node_modules/.bin/typescript-language-server",
"--stdio",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -1197,9 +1068,6 @@ lvim.lang = {
DATA_PATH .. "/lspinstall/vim/node_modules/.bin/vim-language-server",
"--stdio",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -1225,9 +1093,6 @@ lvim.lang = {
cmd = {
DATA_PATH .. "/lspinstall/vue/node_modules/.bin/vls",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -1250,9 +1115,6 @@ lvim.lang = {
DATA_PATH .. "/lspinstall/yaml/node_modules/.bin/yaml-language-server",
"--stdio",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -1265,9 +1127,6 @@ lvim.lang = {
cmd = {
"zls",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -1282,9 +1141,6 @@ lvim.lang = {
"localhost",
"6008",
},
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -1295,9 +1151,6 @@ lvim.lang = {
provider = "powershell_es",
setup = {
bundle_path = "",
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
@@ -1320,9 +1173,6 @@ lvim.lang = {
local util = require "lspconfig/util"
return util.root_pattern ".git"(fname) or vim.fn.getcwd()
end,
- on_attach = common_on_attach,
- on_init = common_on_init,
- capabilities = common_capabilities,
},
},
},
diff --git a/lua/lsp/init.lua b/lua/lsp/init.lua
index 1a6ceda3..631f142a 100644
--- a/lua/lsp/init.lua
+++ b/lua/lsp/init.lua
@@ -138,6 +138,17 @@ function M.setup(lang)
if lsp.provider ~= nil and lsp.provider ~= "" then
local lspconfig = require "lspconfig"
+
+ if not lsp.setup.on_attach then
+ lsp.setup.on_attach = M.common_on_attach
+ end
+ if not lsp.setup.on_init then
+ lsp.setup.on_init = M.common_on_init
+ end
+ if not lsp.setup.capabilities then
+ lsp.setup.capabilities = M.common_capabilities()
+ end
+
lspconfig[lsp.provider].setup(lsp.setup)
end
end