2023-11-15 05:21:32 +00:00
local cmp = require ( ' cmp ' )
2023-09-14 18:15:11 +00:00
cmp.setup ( {
2023-11-27 02:27:12 +00:00
snippet = {
expand = function ( args )
print ( " expand function " )
require ( ' luasnip ' ) . lsp_expand ( args.body )
end ,
} ,
window = {
completion = cmp.config . window.bordered ( ) ,
documentation = cmp.config . window.bordered ( ) ,
} ,
mapping = cmp.mapping . preset.insert ( {
[ ' <C-b> ' ] = cmp.mapping . scroll_docs ( - 4 ) ,
[ ' <C-f> ' ] = cmp.mapping . scroll_docs ( 4 ) ,
[ ' <C-Space> ' ] = cmp.mapping . complete ( ) ,
[ ' <C-e> ' ] = cmp.mapping . abort ( ) ,
2023-12-30 11:16:42 +00:00
-- ['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
2023-11-27 02:27:12 +00:00
} ) ,
sources = cmp.config . sources ( {
{ name = ' nvim_lsp ' } ,
{ name = ' luasnip ' } ,
} , {
{ name = ' buffer ' } ,
} )
2023-09-14 18:15:11 +00:00
} )
-- Set up lspconfig.
local capabilities = require ( ' cmp_nvim_lsp ' ) . default_capabilities ( )
require ( ' lspconfig ' ) [ ' gopls ' ] . setup {
2023-11-27 02:27:12 +00:00
capabilities = capabilities
2023-09-14 18:15:11 +00:00
}