parent
15c902993c
commit
4ccea621d7
@ -0,0 +1,58 @@ |
|||||||
|
return { |
||||||
|
{ |
||||||
|
"hrsh7th/nvim-cmp", |
||||||
|
event = "InsertEnter", |
||||||
|
dependencies = { |
||||||
|
"hrsh7th/cmp-nvim-lsp", |
||||||
|
"hrsh7th/cmp-buffer", |
||||||
|
"hrsh7th/cmp-path", |
||||||
|
"hrsh7th/cmp-cmdline", |
||||||
|
"L3MON4D3/LuaSnip", |
||||||
|
"saadparwaiz1/cmp_luasnip", |
||||||
|
}, |
||||||
|
config = function() |
||||||
|
local cmp = require("cmp") |
||||||
|
local luasnip = require("luasnip") |
||||||
|
|
||||||
|
cmp.setup({ |
||||||
|
snippet = { |
||||||
|
expand = function(args) |
||||||
|
luasnip.lsp_expand(args.body) |
||||||
|
end, |
||||||
|
}, |
||||||
|
mapping = cmp.mapping.preset.insert({ |
||||||
|
["<C-Space>"] = cmp.mapping.complete(), |
||||||
|
["<CR>"] = cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = true }), |
||||||
|
["<Tab>"] = cmp.mapping(function(fallback) |
||||||
|
if cmp.visible() then |
||||||
|
cmp.select_next_item() |
||||||
|
elseif luasnip.expand_or_jumpable() then |
||||||
|
luasnip.expand_or_jump() |
||||||
|
else |
||||||
|
fallback() |
||||||
|
end |
||||||
|
end, { "i", "s" }), |
||||||
|
["<S-Tab>"] = cmp.mapping(function(fallback) |
||||||
|
if cmp.visible() then |
||||||
|
cmp.select_prev_item() |
||||||
|
elseif luasnip.jumpable(-1) then |
||||||
|
luasnip.jump(-1) |
||||||
|
else |
||||||
|
fallback() |
||||||
|
end |
||||||
|
end, { "i", "s" }), |
||||||
|
}), |
||||||
|
sources = cmp.config.sources({ |
||||||
|
{ name = "nvim_lsp" }, |
||||||
|
{ name = "luasnip" }, |
||||||
|
{ name = "buffer" }, |
||||||
|
{ name = "path" }, |
||||||
|
}), |
||||||
|
experimental = { |
||||||
|
ghost_text = true, |
||||||
|
}, |
||||||
|
}) |
||||||
|
end, |
||||||
|
}, |
||||||
|
} |
||||||
|
|
@ -0,0 +1,45 @@ |
|||||||
|
return { |
||||||
|
{ |
||||||
|
"neovim/nvim-lspconfig", |
||||||
|
dependencies = { |
||||||
|
"hrsh7th/nvim-cmp", -- Autocompletion |
||||||
|
"hrsh7th/cmp-nvim-lsp", |
||||||
|
}, |
||||||
|
config = function() |
||||||
|
local lspconfig = require("lspconfig") |
||||||
|
local cmp_nvim_lsp = require("cmp_nvim_lsp") |
||||||
|
|
||||||
|
local capabilities = cmp_nvim_lsp.default_capabilities() |
||||||
|
|
||||||
|
lspconfig.gopls.setup { |
||||||
|
cmd = { "gopls" }, |
||||||
|
filetypes = { "go", "gomod", "gowork", "gotmpl" }, |
||||||
|
root_dir = lspconfig.util.root_pattern("go.work", "go.mod", ".git"), |
||||||
|
settings = { |
||||||
|
gopls = { |
||||||
|
analyses = { |
||||||
|
unusedparams = true, |
||||||
|
}, |
||||||
|
staticcheck = true, |
||||||
|
}, |
||||||
|
}, |
||||||
|
capabilities = capabilities, -- Autocomplete-Unterstützung |
||||||
|
} |
||||||
|
end, |
||||||
|
}, |
||||||
|
{ |
||||||
|
"hrsh7th/nvim-cmp", |
||||||
|
config = function() |
||||||
|
local cmp = require("cmp") |
||||||
|
cmp.setup { |
||||||
|
mapping = cmp.mapping.preset.insert({ |
||||||
|
['<C-Space>'] = cmp.mapping.complete(), |
||||||
|
}), |
||||||
|
sources = { |
||||||
|
{ name = 'nvim_lsp' }, |
||||||
|
}, |
||||||
|
} |
||||||
|
end |
||||||
|
} |
||||||
|
} |
||||||
|
|
@ -0,0 +1 @@ |
|||||||
|
Subproject commit ff6471d4f837354d8257dfa326b031dd8858b16e |
Loading…
Reference in new issue