30 lines
758 B
Lua
30 lines
758 B
Lua
local lsp = require('lsp-zero').preset({})
|
|
|
|
lsp.on_attach(function(_, bufnr)
|
|
lsp.default_keymaps({buffer = bufnr})
|
|
end)
|
|
|
|
-- (Optional) Configure lua language server for neovim
|
|
require('lspconfig').lua_ls.setup(lsp.nvim_lua_ls())
|
|
|
|
lsp.setup()
|
|
local cmp = require('cmp')
|
|
local cmp_action = require('lsp-zero').cmp_action()
|
|
|
|
require('luasnip.loaders.from_vscode').lazy_load()
|
|
|
|
cmp.setup({
|
|
sources = {
|
|
{name = 'path'},
|
|
{name = 'nvim_lsp'},
|
|
{name = 'buffer', keyword_length = 3},
|
|
{name = 'luasnip', keyword_length = 2},
|
|
},
|
|
mapping = {
|
|
-- `Enter` key to confirm completion
|
|
['<CR>'] = cmp.mapping.confirm({select = false}),
|
|
['<Tab>'] = cmp_action.luasnip_supertab(),
|
|
['<S-Tab>'] = cmp_action.luasnip_shift_supertab(),
|
|
}
|
|
})
|