diff --git a/nvim/init.vim b/nvim/init.vim index 67876f1..6813936 100644 --- a/nvim/init.vim +++ b/nvim/init.vim @@ -46,8 +46,6 @@ let g:grammalecte_disable_rules = "apostrophe_typographique let g:languagetool_cmd='/usr/bin/languagetool' let g:languagetool_lang="fr" -inoremap compe#confirm('') - nnoremap bp Telescope buffers nnoremap ca Telescope lsp_code_actions nnoremap gr Telescope lsp_references diff --git a/nvim/lua/completion.lua b/nvim/lua/completion.lua index ce21c60..da9b3e5 100644 --- a/nvim/lua/completion.lua +++ b/nvim/lua/completion.lua @@ -1,68 +1,27 @@ require'lsp_signature'.on_attach() -require'compe'.setup { - enabled = true; - autocomplete = true; - debug = false; - min_length = 1; - preselect = 'enable'; - throttle_time = 80; - source_timeout = 200; - incomplete_delay = 400; - max_abbr_width = 100; - max_kind_width = 100; - max_menu_width = 100; - documentation = true; +local cmp = require'cmp' - source = { - path = true; - buffer = true; - calc = true; - nvim_lsp = true; - nvim_lua = true; - vsnip = true; - --spell = true; - }; -} - -local t = function(str) - return vim.api.nvim_replace_termcodes(str, true, true, true) -end - -local check_back_space = function() - local col = vim.fn.col('.') - 1 - if col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') then - return true - else - return false - end -end - --- Use (s-)tab to: ---- move to prev/next item in completion menuone ---- jump to prev/next snippet's placeholder -_G.tab_complete = function() - if vim.fn.pumvisible() == 1 then - return t "" - elseif vim.fn.call("vsnip#available", {1}) == 1 then - return t "(vsnip-expand-or-jump)" - elseif check_back_space() then - return t "" - else - return vim.fn['compe#complete']() - end -end -_G.s_tab_complete = function() - if vim.fn.pumvisible() == 1 then - return t "" - elseif vim.fn.call("vsnip#jumpable", {-1}) == 1 then - return t "(vsnip-jump-prev)" - else - return t "" - end -end - -vim.api.nvim_set_keymap("i", "", "v:lua.tab_complete()", {expr = true}) -vim.api.nvim_set_keymap("s", "", "v:lua.tab_complete()", {expr = true}) -vim.api.nvim_set_keymap("i", "", "v:lua.s_tab_complete()", {expr = true}) -vim.api.nvim_set_keymap("s", "", "v:lua.s_tab_complete()", {expr = true}) +cmp.setup({ + snippet = { + expand = function(args) + vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` user. + end, + }, + mapping = { + [''] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + [''] = cmp.mapping.complete(), + [''] = cmp.mapping.close(), + [''] = cmp.mapping(cmp.mapping.select_next_item(), { 'i', 's' }), + [''] = cmp.mapping.confirm({ select = true }), + }, + sources = { + { name = 'nvim_lsp' }, + { name = 'vsnip' }, + { name = 'buffer' }, + { name = 'path' }, + { name = 'calc' }, + { name = 'latex_symbols' } + } +}) diff --git a/nvim/lua/plugins.lua b/nvim/lua/plugins.lua index 44d459d..3e1b843 100644 --- a/nvim/lua/plugins.lua +++ b/nvim/lua/plugins.lua @@ -35,7 +35,13 @@ return require('packer').startup(function() use { 'bluz71/vim-moonfly-colors' } use { 'hrsh7th/vim-vsnip' } - use { 'hrsh7th/nvim-compe' } + use { 'hrsh7th/cmp-nvim-lsp' } + use { 'hrsh7th/cmp-buffer' } + use { 'hrsh7th/cmp-calc' } + use { 'hrsh7th/cmp-path' } + use { 'kdheepak/cmp-latex-symbols' } + use { 'hrsh7th/nvim-cmp' } + use { 'dpelle/vim-Grammalecte' } use { 'dpelle/vim-LanguageTool' }