summaryrefslogtreecommitdiff
path: root/nvim/lua/lsp.lua
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--nvim/lua/lsp.lua56
1 files changed, 9 insertions, 47 deletions
diff --git a/nvim/lua/lsp.lua b/nvim/lua/lsp.lua
index 468ea71..5f04683 100644
--- a/nvim/lua/lsp.lua
+++ b/nvim/lua/lsp.lua
@@ -1,48 +1,10 @@
-
-local cmp = require('cmp')
-
-local source_mapping = {
- buffer = '[Buffer]',
- nvim_lsp = '[LSP]',
- nvim_lua = '[Lua]',
- cmp_tabnine = '[TN]',
- path = '[Path]',
-}
-
-cmp.setup({
- mapping = cmp.mapping.preset.insert({
- ['<C-y>'] = cmp.mapping.confirm({ select = true }),
- ['<C-d>'] = cmp.mapping.scroll_docs(-4),
- ['<C-u>'] = cmp.mapping.scroll_docs(4),
- ['<C-Space>'] = cmp.mapping.complete(),
- }),
- snippet = {
- expand = function(args)
- require('luasnip').lsp_expand(args.body)
- end,
- },
- formatting = {
- format = function(entry, vim_item)
- local menu = source_mapping[entry.source.name]
- vim_item.menu = menu
- return vim_item
- end
- },
- sources = cmp.config.sources({
- { name = 'nvim_lsp' },
- { name = 'luasnip' },
- }, {
- { name = 'buffer' },
- })
-})
-
-- инициализация LSP для различных ЯП
-local lspconfig = require('lspconfig')
-local util = require('lspconfig/util')
+local lspconfig = require("lspconfig")
+local util = require("lspconfig/util")
local function config(_config)
- return vim.tbl_deep_extend('force', {
- capabilities = require('cmp_nvim_lsp').default_capabilities(vim.lsp.protocol.make_client_capabilities()),
+ return vim.tbl_deep_extend("force", {
+ capabilities = require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities()),
}, _config or {})
end
@@ -50,9 +12,9 @@ end
-- https://github.com/golang/tools/blob/master/gopls/doc/vim.md#neovim-install
lspconfig.gopls.setup(config({
on_attach = on_attach,
- cmd = { 'gopls', 'serve' },
- filetypes = { 'go', 'go.mod' },
- root_dir = util.root_pattern('go.work', 'go.mod', '.git'),
+ cmd = { "gopls", "serve" },
+ filetypes = { "go", "go.mod" },
+ root_dir = util.root_pattern("go.work", "go.mod", ".git"),
settings = {
gopls = {
analyses = {
@@ -60,6 +22,6 @@ lspconfig.gopls.setup(config({
shadow = true,
},
staticcheck = true,
- }
- }
+ },
+ },
}))