--- 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})