diff --git a/home/deepak/neovim/lsp.lua b/home/deepak/neovim/lsp.lua new file mode 100644 index 0000000..c7bdb63 --- /dev/null +++ b/home/deepak/neovim/lsp.lua @@ -0,0 +1,41 @@ +local lsp_zero = require('lsp-zero') +lsp_zero.on_attach(function(client, bufnr) + lsp_zero.default_keymaps({buffer = bufnr}) +end) + +local cmp = require('cmp') +local cmp_format = lsp_zero.cmp_format({details = true}) +local cmp_action = lsp_zero.cmp_action() + +require("luasnip.loaders.from_vscode").lazy_load() + +cmp.setup({ + sources = { + {name = 'nvim_lsp'}, + {name = 'buffer'}, + {name = 'luasnip'}, + {name = 'vimtex'}, + }, + formatting = cmp_format, + mapping = cmp.mapping.preset.insert({ + -- [''] = cmp_action.tab_complete(), + -- [''] = cmp_action.select_prev_or_fallback(), + [''] = cmp_action.luasnip_supertab(), + [''] = cmp_action.luasnip_shift_supertab(), + [''] = cmp_action.luasnip_jump_forward(), + [''] = cmp_action.luasnip_jump_backward(), + [''] = cmp.mapping.confirm({select = false}), + }), + window = { + completion = cmp.config.window.bordered(), + documentation = cmp.config.window.bordered(), + }, + snippet = { + expand = function(args) + require('luasnip').lsp_expand(args.body) + end, + } +}) +require'lspconfig'.nil_ls.setup{} + +