diff --git a/init.vim b/init.vim index 416f24b..3c4e513 100644 --- a/init.vim +++ b/init.vim @@ -9,6 +9,11 @@ Plug 'kyazdani42/nvim-tree.lua' Plug 'lukas-reineke/indent-blankline.nvim' Plug 'joshdick/onedark.vim' Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} +Plug 'hrsh7th/cmp-nvim-lsp' +Plug 'hrsh7th/cmp-buffer' +Plug 'hrsh7th/nvim-cmp' +Plug 'L3MON4D3/LuaSnip' +Plug 'saadparwaiz1/cmp_luasnip' call plug#end() set termguicolors set mouse=a diff --git a/lua/plugins.lua b/lua/plugins.lua index 9838b09..561634d 100644 --- a/lua/plugins.lua +++ b/lua/plugins.lua @@ -6,7 +6,29 @@ require("indent_blankline").setup { buftype_exclude = {"terminal"} } -require'lspconfig'.clangd.setup{} -require'lspconfig'.denols.setup{} +require'lspconfig'.clangd.setup{ + capabilities = require('cmp_nvim_lsp').update_capabilities(vim.lsp.protocol.make_client_capabilities()) +} +require'lspconfig'.denols.setup{ + capabilities = require('cmp_nvim_lsp').update_capabilities(vim.lsp.protocol.make_client_capabilities()) +} require('bufferline').setup() +local cmp = require('cmp') + +cmp.setup({ + snippet = { + expand = function(args) + require('luasnip').lsp_expand(args.body) + end, + }, + mapping = { + [''] = cmp.mapping.complete(), + [''] = cmp.mapping.confirm({ select = true }), + }, + sources = { + {name = 'nvim_lsp'}, + {name = 'luasnip'}, + {name = 'buffer'}, + } +})