refactor capabilites function

This commit is contained in:
Chris 2021-07-28 19:03:29 -04:00
parent f73da2a1b2
commit ed71e50593
3 changed files with 30 additions and 31 deletions

View file

@ -57,8 +57,8 @@ lvim = {
} }
local schemas = nil local schemas = nil
local common_on_attach = require("lsp").common_on_attach local common_on_attach = require("lsp.utils").common_on_attach
local common_capabilities = require("lsp").common_capabilities() local common_capabilities = require("lsp.utils").common_capabilities()
local status_ok, jsonls_settings = pcall(require, "nlspsettings.jsonls") local status_ok, jsonls_settings = pcall(require, "nlspsettings.jsonls")
if status_ok then if status_ok then
schemas = jsonls_settings.get_default_schemas() schemas = jsonls_settings.get_default_schemas()
@ -640,8 +640,8 @@ lvim.lang = {
lsp = { lsp = {
provider = "puppet", provider = "puppet",
setup = { setup = {
on_attach = require("lsp").common_on_attach, on_attach = common_on_attach,
capabilities = require("lsp").common_capabilities(), capabilities = common_capabilities,
}, },
}, },
}, },
@ -662,8 +662,8 @@ lvim.lang = {
DATA_PATH .. "/lspinstall/typescript/node_modules/.bin/typescript-language-server", DATA_PATH .. "/lspinstall/typescript/node_modules/.bin/typescript-language-server",
"--stdio", "--stdio",
}, },
on_attach = require("lsp").common_on_attach, on_attach = common_on_attach,
capabilities = require("lsp").common_capabilities(), capabilities = common_capabilities,
}, },
}, },
}, },
@ -684,8 +684,8 @@ lvim.lang = {
DATA_PATH .. "/lspinstall/typescript/node_modules/.bin/typescript-language-server", DATA_PATH .. "/lspinstall/typescript/node_modules/.bin/typescript-language-server",
"--stdio", "--stdio",
}, },
on_attach = require("lsp").common_on_attach, on_attach = common_on_attach,
capabilities = require("lsp").common_capabilities(), capabilities = common_capabilities,
}, },
}, },
}, },
@ -903,8 +903,8 @@ lvim.lang = {
DATA_PATH .. "/lspinstall/typescript/node_modules/.bin/typescript-language-server", DATA_PATH .. "/lspinstall/typescript/node_modules/.bin/typescript-language-server",
"--stdio", "--stdio",
}, },
on_attach = require("lsp").common_on_attach, on_attach = common_on_attach,
capabilities = require("lsp").common_capabilities(), capabilities = common_capabilities,
}, },
}, },
}, },
@ -925,8 +925,8 @@ lvim.lang = {
DATA_PATH .. "/lspinstall/typescript/node_modules/.bin/typescript-language-server", DATA_PATH .. "/lspinstall/typescript/node_modules/.bin/typescript-language-server",
"--stdio", "--stdio",
}, },
on_attach = require("lsp").common_on_attach, on_attach = common_on_attach,
capabilities = require("lsp").common_capabilities(), capabilities = common_capabilities,
}, },
}, },
}, },

View file

@ -6,6 +6,11 @@ function lsp_config.config()
require("lsp.handlers").setup() require("lsp.handlers").setup()
require("lsp.signs").setup() require("lsp.signs").setup()
require("lsp.keybinds").setup() require("lsp.keybinds").setup()
require("core.autocmds").define_augroups {
_general_lsp = {
{ "FileType", "lspinfo", "nnoremap <silent> <buffer> q :q<CR>" },
},
}
end end
local function no_formatter_on_attach(client, bufnr) local function no_formatter_on_attach(client, bufnr)
@ -16,25 +21,6 @@ local function no_formatter_on_attach(client, bufnr)
client.resolved_capabilities.document_formatting = false client.resolved_capabilities.document_formatting = false
end end
function lsp_config.common_capabilities()
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.textDocument.completion.completionItem.snippetSupport = true
capabilities.textDocument.completion.completionItem.resolveSupport = {
properties = {
"documentation",
"detail",
"additionalTextEdits",
},
}
return capabilities
end
require("core.autocmds").define_augroups {
_general_lsp = {
{ "FileType", "lspinfo", "nnoremap <silent> <buffer> q :q<CR>" },
},
}
function lsp_config.setup(lang) function lsp_config.setup(lang)
local lang_server = lvim.lang[lang].lsp local lang_server = lvim.lang[lang].lsp
local provider = lang_server.provider local provider = lang_server.provider

View file

@ -98,4 +98,17 @@ function M.common_on_attach(client, bufnr)
lsp_highlight_document(client) lsp_highlight_document(client)
end end
function M.common_capabilities()
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.textDocument.completion.completionItem.snippetSupport = true
capabilities.textDocument.completion.completionItem.resolveSupport = {
properties = {
"documentation",
"detail",
"additionalTextEdits",
},
}
return capabilities
end
return M return M