diff --git a/nvim/.config/nvim/after/plugin/completion.vim b/nvim/.config/nvim/after/plugin/completion.vim index 01894cb..4c41fe2 100644 --- a/nvim/.config/nvim/after/plugin/completion.vim +++ b/nvim/.config/nvim/after/plugin/completion.vim @@ -1,14 +1,49 @@ -" For nvim-completion +let g:completion_enable_auto_popup = 0 +let g:completion_auto_change_source = 1 +let g:completion_trigger_on_delete = 1 +let g:completion_matching_ignore_case = 0 +let g:completion_matching_strategy_list = ['exact', 'substring'] + +let g:completion_chain_complete_list = { + \ 'c': [ + \ {'complete_items': ['buffers']}, + \ {'mode': 'tags'}, + \ {'mode': 'keyn'}, + \ {'mode': ''}, + \ {'mode': ''} + \], + \ 'haskell': [ + \ {'complete_items': ['lsp']}, + \ {'complete_items': ['buffers']}, + \ {'mode': 'keyn'}, + \ {'mode': ''}, + \ {'mode': ''}, + \], + \ 'rust': [ + \ {'complete_items': ['lsp']}, + \ {'complete_items': ['buffers']}, + \ {'mode': 'keyn'} + \], + \ 'purescript': [ + \ {'complete_items': ['lsp']}, + \ {'complete_items': ['buffers']}, + \ {'mode': 'keyn'}, + \ {'mode': ''}, + \ {'mode': ''} + \], + \ 'default': [ + \ {'complete_items': ['buffers']}, + \ {'mode': 'keyn'}, + \ {'mode': ''}, + \ {'mode': ''}, + \], + \} + +inoremap pumvisible() ? "\" : "\" +inoremap pumvisible() ? "\" : "\" +imap (completion_smart_tab) imap (completion_next_source) imap (completion_prev_source) -" Tab completion. Taken from nvim-completion README. -function! s:check_back_space() abort - let col = col('.') - 1 - return !col || getline('.')[col - 1] =~ '\s' -endfunction - -inoremap - \ pumvisible() ? "\" : - \ check_back_space() ? "\" : - \ completion#trigger_completion() +" Use completion-nvim in every buffer +autocmd BufEnter * lua require'completion'.on_attach() diff --git a/nvim/.config/nvim/autocmd.vim b/nvim/.config/nvim/autocmd.vim index e10eacf..43fb20a 100644 --- a/nvim/.config/nvim/autocmd.vim +++ b/nvim/.config/nvim/autocmd.vim @@ -28,9 +28,6 @@ augroup UserStatusline autocmd ColorScheme * hi User8 guifg=DarkYellow guibg=Black augroup END -" Use completion-nvim in every buffer -autocmd BufEnter * lua require'completion'.on_attach() - augroup LuaHighlight autocmd! autocmd TextYankPost * silent! lua require'vim.highlight'.on_yank("IncSearch", 2000) diff --git a/nvim/.config/nvim/plugin_settings.vim b/nvim/.config/nvim/plugin_settings.vim index eece558..ebaa685 100644 --- a/nvim/.config/nvim/plugin_settings.vim +++ b/nvim/.config/nvim/plugin_settings.vim @@ -56,43 +56,5 @@ let g:diagnostic_show_sign = 1 let g:diagnostic_auto_popup_while_jump = 1 let g:diagnostic_insert_delay = 1 -" For nvim-completion -let g:completion_enable_auto_popup = 1 -let g:completion_auto_change_source = 1 -let g:completion_chain_complete_list = { - \ 'c': [ - \ {'complete_items': ['buffers']}, - \ {'mode': 'keyn'}, - \ {'mode': 'tags'}, - \ {'mode': ''}, - \ {'mode': ''} - \], - \ 'haskell': [ - \ {'complete_items': ['lsp']}, - \ {'complete_items': ['buffers']}, - \ {'mode': 'keyn'}, - \ {'mode': ''}, - \ {'mode': ''}, - \], - \ 'rust': [ - \ {'complete_items': ['lsp']}, - \ {'complete_items': ['buffers']}, - \ {'mode': 'keyn'} - \], - \ 'purescript': [ - \ {'complete_items': ['lsp']}, - \ {'complete_items': ['buffers']}, - \ {'mode': 'keyn'}, - \ {'mode': ''}, - \ {'mode': ''} - \], - \ 'default': [ - \ {'complete_items': ['buffers']}, - \ {'mode': 'keyn'}, - \ {'mode': ''}, - \ {'mode': ''}, - \], - \} - lua require 'lsp' lua require 'treesitter'