summaryrefslogtreecommitdiff
path: root/plug-config
diff options
context:
space:
mode:
Diffstat (limited to 'plug-config')
-rw-r--r--plug-config/coc/coc-extensions.vim33
-rw-r--r--plug-config/coc/coc.vim171
-rw-r--r--plug-config/gitgutter.vim1
-rw-r--r--plug-config/lsp-config.vim14
-rw-r--r--plug-config/nvimtree-config.vim45
5 files changed, 60 insertions, 204 deletions
diff --git a/plug-config/coc/coc-extensions.vim b/plug-config/coc/coc-extensions.vim
deleted file mode 100644
index 7066163e..00000000
--- a/plug-config/coc/coc-extensions.vim
+++ /dev/null
@@ -1,33 +0,0 @@
-let g:coc_global_extensions = [
- \ 'coc-snippets',
- \ 'coc-actions',
- \ 'coc-sh',
- \ 'coc-java-debug',
- \ 'coc-java',
- \ 'coc-lists',
- \ 'coc-emmet',
- \ 'coc-tasks',
- \ 'coc-pairs',
- \ 'coc-tsserver',
- \ 'coc-floaterm',
- \ 'coc-fzf-preview',
- \ 'coc-html',
- \ 'coc-css',
- \ 'coc-cssmodules',
- \ 'coc-stylelintplus',
- \ 'coc-emoji',
- \ 'coc-yaml',
- \ 'coc-pyright',
- \ 'coc-explorer',
- \ 'coc-svg',
- \ 'coc-prettier',
- \ 'coc-vimlsp',
- \ 'coc-xml',
- \ 'coc-yank',
- \ 'coc-json',
- \ 'coc-marketplace',
- \ ]
- " \ 'coc-tabnine',
- " \ 'coc-highlight',
- " \ 'coc-bookmark',
-
diff --git a/plug-config/coc/coc.vim b/plug-config/coc/coc.vim
deleted file mode 100644
index f8c9270e..00000000
--- a/plug-config/coc/coc.vim
+++ /dev/null
@@ -1,171 +0,0 @@
-" Use tab for trigger completion with characters ahead and navigate.
-inoremap <silent><expr> <TAB>
- \ pumvisible() ? "\<C-n>" :
- \ <SID>check_back_space() ? "\<TAB>" :
- \ coc#refresh()
-inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
-
-function! s:check_back_space() abort
- let col = col('.') - 1
- return !col || getline('.')[col - 1] =~# '\s'
-endfunction
-
-" Use <c-space> to trigger completion.
-inoremap <silent><expr> <c-space> coc#refresh()
-
-" Use <cr> to confirm completion, `<C-g>u` means break undo chain at current
-" position. Coc only does snippet and additional edit on confirm.
-if exists('*complete_info')
- inoremap <expr> <cr> complete_info()["selected"] != "-1" ? "\<C-y>" : "\<C-g>u\<CR>"
-else
- imap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>"
-endif
-
-" GoTo code navigation.
-nmap <silent> gd <Plug>(coc-definition)
-nmap <silent> gy <Plug>(coc-type-definition)
-nmap <silent> gi <Plug>(coc-implementation)
-nmap <silent> gr <Plug>(coc-references)
-
-" Use K to show documentation in preview window.
-nnoremap <silent> K :call <SID>show_documentation()<CR>
-
-function! s:show_documentation()
- if (index(['vim','help'], &filetype) >= 0)
- execute 'h '.expand('<cword>')
- elseif (coc#rpc#ready())
- call CocActionAsync('doHover')
- else
- execute '!' . &keywordprg . " " . expand('<cword>')
- endif
-endfunction
-
-" set keywordprg=:call\ CocActionAsync('doHover')
-" augroup VimHelp
-" autocmd!
-" autocmd Filetype vim,help setlocal keywordprg=:help
-" augroup END
-
-" Highlight the symbol and its references when holding the cursor.
-autocmd CursorHold * silent call CocActionAsync('highlight')
-
-" Symbol renaming.
-" nmap <leader>rn <Plug>(coc-rename)
-
-augroup mygroup
- autocmd!
- " Setup formatexpr specified filetype(s).
- autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected')
- " Update signature help on jump placeholder.
- autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp')
-augroup end
-
-" Applying codeAction to the selected region.
-" Example: `<leader>aap` for current paragraph
-" xmap <leader>a <Plug>(coc-codeaction-selected)
-" nmap <leader>a <Plug>(coc-codeaction-selected)
-
-" Remap keys for applying codeAction to the current line.
-" nmap <leader>ac <Plug>(coc-codeaction)
-" Apply AutoFix to problem on the current line.
-" nmap <leader>qf <Plug>(coc-fix-current)
-
-" Introduce function text object
-" NOTE: Requires 'textDocument.documentSymbol' support from the language server.
-xmap if <Plug>(coc-funcobj-i)
-xmap af <Plug>(coc-funcobj-a)
-omap if <Plug>(coc-funcobj-i)
-omap af <Plug>(coc-funcobj-a)
-
-" Remap <C-f> and <C-b> for scroll float windows/popups.
-" Note coc#float#scroll works on neovim >= 0.4.3 or vim >= 8.2.0750
-nnoremap <nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#scroll(1) : "\<C-f>"
-nnoremap <nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "\<C-b>"
-inoremap <nowait><expr> <C-f> coc#float#has_scroll() ? "\<c-r>=coc#float#scroll(1)\<cr>" : "\<Right>"
-inoremap <nowait><expr> <C-b> coc#float#has_scroll() ? "\<c-r>=coc#float#scroll(0)\<cr>" : "\<Left>"
-
-" NeoVim-only mapping for visual mode scroll
-" Useful on signatureHelp after jump placeholder of snippet expansion
-if has('nvim')
- vnoremap <nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#nvim_scroll(1, 1) : "\<C-f>"
- vnoremap <nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#nvim_scroll(0, 1) : "\<C-b>"
-endif
-
-" Add `:Format` command to format current buffer.
-command! -nargs=0 Format :call CocAction('format')
-
-" Add `:Fold` command to fold current buffer.
-command! -nargs=? Fold :call CocAction('fold', <f-args>)
-
-" Add `:OR` command for organize imports of the current buffer.
-command! -nargs=0 OR :call CocAction('runCommand', 'editor.action.organizeImport')
-
-" Add (Neo)Vim's native statusline support.
-" NOTE: Please see `:h coc-status` for integrations with external plugins that
-" provide custom statusline: lightline.vim, vim-airline.
-" set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')}
-
-" Mappings using CoCList:
-" Show all diagnostics.
-" TODO add these to which key
-" nnoremap <silent> <space>a :<C-u>CocList diagnostics<cr>
-" " Manage extensions.
-" nnoremap <silent> <space>e :<C-u>CocList extensions<cr>
-" " Show commands.
-" nnoremap <silent> <space>c :<C-u>CocList commands<cr>
-" " Find symbol of current document.
-" nnoremap <silent> <space>o :<C-u>CocList outline<cr>
-" " Search workspace symbols.
-" nnoremap <silent> <space>s :<C-u>CocList -I symbols<cr>
-" " Do default action for next item.
-" nnoremap <silent> <space>j :<C-u>CocNext<CR>
-" " Do default action for previous item.
-" nnoremap <silent> <space>k :<C-u>CocPrev<CR>
-" " Resume latest coc list.
-" nnoremap <silent> <space>p :<C-u>CocListResume<CR>
-
-" Explorer
-let g:coc_explorer_global_presets = {
-\ 'floating': {
-\ 'position': 'floating',
-\ },
-\ 'floatingLeftside': {
-\ 'position': 'floating',
-\ 'floating-position': 'left-center',
-\ 'floating-width': 30,
-\ },
-\ 'floatingRightside': {
-\ 'position': 'floating',
-\ 'floating-position': 'right-center',
-\ 'floating-width': 30,
-\ },
-\ 'simplify': {
-\ 'file.child.template': '[selection | clip | 1] [indent][icon | 1] [filename omitCenter 1]'
-\ }
-\ }
-"nmap <silent> <space>e :CocCommand explorer<CR>
-" nnoremap <silent> <leader>e :CocCommand explorer<CR>
-" nmap <space>f :CocCommand explorer --preset floatingRightside<CR>
-autocmd BufEnter * if (winnr("$") == 1 && &filetype == 'coc-explorer') | q | endif
-
-" Snippets
-" Use <C-l> for trigger snippet expand.
-imap <C-l> <Plug>(coc-snippets-expand)
-
-" Use <C-j> for select text for visual placeholder of snippet.
-vmap <C-j> <Plug>(coc-snippets-select)
-
-" Use <C-j> for jump to next placeholder, it's default of coc.nvim
-let g:coc_snippet_next = '<c-j>'
-
-" Use <C-k> for jump to previous placeholder, it's default of coc.nvim
-let g:coc_snippet_prev = '<c-k>'
-
-" Use <C-j> for both expand and jump (make expand higher priority.)
-imap <C-j> <Plug>(coc-snippets-expand-jump)
-
-augroup MyCocExplorer
- autocmd!
- autocmd VimEnter * sil! au! FileExplorer *
- autocmd BufEnter * let d = expand('%') | if isdirectory(d) | silent! bd | exe 'CocCommand explorer ' . d | endif
-augroup END
diff --git a/plug-config/gitgutter.vim b/plug-config/gitgutter.vim
index 8455543b..9907d8e5 100644
--- a/plug-config/gitgutter.vim
+++ b/plug-config/gitgutter.vim
@@ -1,5 +1,6 @@
+let g:gitgutter_sign_allow_clobber = 1
let g:gitgutter_sign_added = '▎'
let g:gitgutter_sign_modified = '▎'
let g:gitgutter_sign_removed = '契'
diff --git a/plug-config/lsp-config.vim b/plug-config/lsp-config.vim
new file mode 100644
index 00000000..bb5ae691
--- /dev/null
+++ b/plug-config/lsp-config.vim
@@ -0,0 +1,14 @@
+" LSP config (the mappings used in the default file don't quite work right)
+nnoremap <silent> gd <cmd>lua vim.lsp.buf.definition()<CR>
+nnoremap <silent> gD <cmd>lua vim.lsp.buf.declaration()<CR>
+nnoremap <silent> gr <cmd>lua vim.lsp.buf.references()<CR>
+nnoremap <silent> gi <cmd>lua vim.lsp.buf.implementation()<CR>
+nnoremap <silent> K <cmd>lua vim.lsp.buf.hover()<CR>
+nnoremap <silent> <C-k> <cmd>lua vim.lsp.buf.signature_help()<CR>
+nnoremap <silent> [d <cmd>lua vim.lsp.diagnostic.goto_prev()<CR>
+nnoremap <silent> ]d <cmd>lua vim.lsp.diagnostic.goto_next()<CR>
+" autoformat
+autocmd BufWritePre *.js lua vim.lsp.buf.formatting_sync(nil, 100)
+autocmd BufWritePre *.jsx lua vim.lsp.buf.formatting_sync(nil, 100)
+autocmd BufWritePre *.py lua vim.lsp.buf.formatting_sync(nil, 100)
+
diff --git a/plug-config/nvimtree-config.vim b/plug-config/nvimtree-config.vim
new file mode 100644
index 00000000..34e98991
--- /dev/null
+++ b/plug-config/nvimtree-config.vim
@@ -0,0 +1,45 @@
+let g:nvim_tree_side = 'left' " | 'left' "left by default
+let g:nvim_tree_width = 40 "30 by default
+let g:nvim_tree_ignore = [ '.git', 'node_modules', '.cache' ] "empty by default
+let g:nvim_tree_auto_open = 0 "0 by default, opens the tree when typing `vim $DIR` or `vim`
+let g:nvim_tree_auto_close = 1 "0 by default, closes the tree when it's the last window
+" let g:nvim_tree_auto_ignore_ft = 'startify' "empty by default, don't auto open tree on specific filetypes.
+let g:nvim_tree_quit_on_open = 0 "0 by default, closes the tree when you open a file
+let g:nvim_tree_follow = 1 "0 by default, this option allows the cursor to be updated when entering a buffer
+let g:nvim_tree_indent_markers = 1 "0 by default, this option shows indent markers when folders are open
+let g:nvim_tree_hide_dotfiles = 1 "0 by default, this option hides files and folders starting with a dot `.`
+let g:nvim_tree_git_hl = 1 "0 by default, will enable file highlight for git attributes (can be used without the icons).
+" let g:nvim_tree_root_folder_modifier = ':~' "This is the default. See :help filename-modifiers for more options
+" let g:nvim_tree_tab_open = 1 "0 by default, will open the tree when entering a new tab and the tree was previously open
+" let g:nvim_tree_width_allow_resize = 1 "0 by default, will not resize the tree when opening a file
+let g:nvim_tree_disable_netrw = 1 "1 by default, disables netrw
+let g:nvim_tree_hijack_netrw = 1 "1 by default, prevents netrw from automatically opening when opening directories (but lets you keep its other utilities)
+let g:nvim_tree_show_icons = {
+ \ 'git': 1,
+ \ 'folders': 1,
+ \ 'files': 1,
+ \ }
+"If 0, do not show the icons for one of 'git' 'folder' and 'files'
+"1 by default, notice that if 'files' is 1, it will only display
+"if nvim-web-devicons is installed and on your runtimepath
+
+" default will show icon by default if no icon is provided
+" default shows no icon by default
+let g:nvim_tree_icons = {
+ \ 'default': '',
+ \ 'symlink': '',
+ \ 'git': {
+ \ 'unstaged': "✗",
+ \ 'staged': "✓",
+ \ 'unmerged': "",
+ \ 'renamed': "➜",
+ \ 'untracked': "ﭖ"
+ \ },
+ \ 'folder': {
+ \ 'default': "",
+ \ 'open': "",
+ \ 'empty': "",
+ \ 'empty_open': "",
+ \ 'symlink': "",
+ \ }
+ \ }