]> git.r.bdr.sh - rbdr/dotfiles/blobdiff - config/nvim/init.lua
Add basic coc config
[rbdr/dotfiles] / config / nvim / init.lua
index 994ebef766df4397518e40f6a6b760733e329b93..7601d689f9537a93369f3d5b067829efbcdb169c 100644 (file)
@@ -26,7 +26,6 @@ vim.opt.smartcase = true                    -- Unless we use both cases in searc
 
 -- Autocomplete Behavior
 vim.opt.wildmode = 'list:longest,list:full' -- Autocomplete common matching string
-                                            -- first, and then the full match.
 
 -- Folding Behavior
 vim.opt.foldmethod = 'syntax'               -- Use syntax highlight to define folds
@@ -122,5 +121,20 @@ vim.keymap.set('n', '<leader>g', ':Goyo<CR>==')
 vim.keymap.set('i', '<leader>g', '<Esc>:Goyo<CR>==gi')
 vim.keymap.set('v', '<leader>g', ':<C-u>Goyo<CR>gv=gv')
 
+-- CoC
+vim.keymap.set('i', '<TAB>', 'pumvisible() ? "\\<C-n>" : "\\<TAB>"', {expr = true, silent = true})
+vim.keymap.set('i', '<S-TAB>', 'pumvisible() ? "\\<C-p>" : "\\<C-h>"', {expr = true, silent = true})
+vim.keymap.set('i', '<S-TAB>', 'pumvisible() ? "\\<C-p>" : "\\<C-h>"', {expr = true, silent = true})
+vim.keymap.set('i', '<C-Space>', 'coc#refresh()', {expr = true, silent = true})
+vim.keymap.set('n', 'K', ':call CocActionAsync("doHover")<CR>', {silent = true})
+
+vim.keymap.set('n', '[g', '<Plug>(coc-diagnostic-prev)', {silent = true})
+vim.keymap.set('n', ']g', '<Plug>(coc-diagnostic-next)', {silent = true})
+
+vim.keymap.set('n', 'gd', '<Plug>(coc-definition)', {silent = true})
+vim.keymap.set('n', 'gy', '<Plug>(coc-type-definition)', {silent = true})
+vim.keymap.set('n', 'gi', '<Plug>(coc-implementation)', {silent = true})
+vim.keymap.set('n', 'gr', '<Plug>(coc-references)', {silent = true})
+
 -- Plugins
 require('plugins')