Chris преди 4 години
родител
ревизия
78fb2c072f
променени са 8 файла, в които са добавени 94 реда и са изтрити 86 реда
  1. 4 6
      README.md
  2. 7 0
      coc-settings.json
  3. 2 1
      init.vim
  4. 35 42
      keys/which-key.vim
  5. 13 0
      lua/nvcodeline.lua
  6. 33 0
      plug-config/coc/coc-extensions.vim
  7. 0 37
      plug-config/coc/coc.vim
  8. BIN
      utils/images/nvim.png

+ 4 - 6
README.md

@@ -185,15 +185,12 @@ Along with some of my config files you can find in `utils/vscode_config`
 ## TODO
 
 - Better Documentation
-- Improve VSCode which-key config
 
 ## CoC extensions to check out
 
-- coc-fzf
-- coc-stylelintplus
+- coc-fzf-preview
+  - https://github.com/yuki-ycino/fzf-preview.vim/
 - coc-floaterm
-- coc-actions
-- coc-bookmark
 
 ## 0.5
 
@@ -207,12 +204,13 @@ If anyone reading this has any suggestions about implementing any of the followi
 - ale
 - multiple cursors
 - markdown table
-- spaceline (add colorscheme for mach2)
+- galaxyline automatically grab colors from colorscheme
 - tpope/vim-dadbod
 - neovide
 - People asked about vimwiki I kinda hate it but maybe I'll add it
 - vimspector this is included but I don't plan on using it much
   - can be used with jdb, pdb, gdb, etc...
+- nvim-dap and nvim-dap-virtual-text (ALL DEBUGGING IN NEOVIM IS CONFUSING AND HARD TO GET WORKING OR I'M JUST DUMB)
 - later manually link pylance
 - resize with arrows in addition to meta
 - how to support meta key on for macOS?

+ 7 - 0
coc-settings.json

@@ -58,6 +58,12 @@
     "javascript": "javascriptreact"
   },
 
+  // CSS (disable since I'm also using stylelintplus)
+  "css.validate": false,
+  "less.validate": false,
+  "scss.validate": false,
+  "wxss.validate": false,
+
   // explorer
   "explorer.width": 30,
   "explorer.icon.enableNerdfont": true,
@@ -68,6 +74,7 @@
     "<cr>": ["expandable?", "expand", "open"],
     "v": "open:vsplit"
   },
+  "bookmark.sign": "",
 
   //coc-emoji
   "coc.source.emoji.filetypes": ["markdown"]

+ 2 - 1
init.vim

@@ -35,7 +35,8 @@ else
   source $HOME/.config/nvim/plug-config/vim-wiki.vim
   luafile $HOME/.config/nvim/lua/nvcodeline.lua
   luafile $HOME/.config/nvim/lua/treesitter.lua
-  source $HOME/.config/nvim/plug-config/coc.vim
+  source $HOME/.config/nvim/plug-config/coc/coc.vim
+  source $HOME/.config/nvim/plug-config/coc/coc-extensions.vim
   source $HOME/.config/nvim/plug-config/easymotion.vim
   source $HOME/.config/nvim/plug-config/goyo.vim
   source $HOME/.config/nvim/plug-config/vim-rooter.vim

+ 35 - 42
keys/which-key.vim

@@ -35,15 +35,14 @@ let g:which_key_map['='] = [ '<C-W>='                             , 'balance win
 let g:which_key_map['d'] = [ ':Bdelete'                           , 'delete buffer']
 let g:which_key_map['e'] = [ ':CocCommand explorer'               , 'explorer' ]
 let g:which_key_map['h'] = [ '<C-W>s'                             , 'split below']
-let g:which_key_map['m'] = [ ':call WindowSwap#EasyWindowSwap()'  , 'move window' ]
 let g:which_key_map['n'] = [ ':let @/ = ""'                       , 'no highlight' ]
+let g:which_key_map['o'] = [ ':RnvimrToggle'                      , 'open' ]
 let g:which_key_map['p'] = [ ':Files'                             , 'search files' ]
 let g:which_key_map['q'] = [ 'q'                                  , 'quit' ]
-let g:which_key_map['r'] = [ ':RnvimrToggle'                      , 'ranger' ]
 let g:which_key_map['T'] = [ ':TSHighlightCapturesUnderCursor'    , 'treesitter highlight' ]
 let g:which_key_map['u'] = [ ':UndotreeToggle'                    , 'undo tree']
 let g:which_key_map['v'] = [ '<C-W>v'                             , 'split right']
-let g:which_key_map['W'] = [ 'w'                                  , 'write' ]
+let g:which_key_map['W'] = [ ':call WindowSwap#EasyWindowSwap()'  , 'move window' ]
 let g:which_key_map['z'] = [ 'Goyo'                               , 'zen' ]
 
 " Group mappings
@@ -96,7 +95,7 @@ let g:which_key_map.b = {
 " f is for find and replace
 let g:which_key_map.f = {
       \ 'name' : '+find & replace' ,
-      \ 'b' : [':Farr --source=vimgrep'    , 'buffer'],
+      \ 'f' : [':Farr --source=vimgrep'    , 'file'],
       \ 'p' : [':Farr --source=rgnvim'     , 'project'],
       \ }
 
@@ -118,6 +117,18 @@ let g:which_key_map.k = {
       \ }
       " \ 'l' : [':AsyncTaskList'               , 'list tasks'],
 
+" m is for mark
+let g:which_key_map.m = {
+      \ 'name' : '+mark' ,
+      \ 'c' : [':CocCommand bookmark.clearForCurrentFile', 'clear file'],
+      \ 'C' : [':CocCommand bookmark.clearForAllFiles', 'clear project'],
+      \ 'j' : [':CocCommand bookmark.next', 'next bookmark'],
+      \ 'k' : [':CocCommand bookmark.prev', 'prev bookmark'],
+      \ 't' : [':CocCommand bookmark.toggle', 'toggle bookmark'],
+      \ }
+      " CoC throws an error
+      " \ 'a' : [':CocCommand bookmark.annotate', 'annotate bookmark'],
+
 " s is for search
 let g:which_key_map.s = {
       \ 'name' : '+search' ,
@@ -223,7 +234,7 @@ let g:which_key_map.l = {
       \ 'n' : ['<Plug>(coc-diagnostic-next)'         , 'next diagnostic'],
       \ 'N' : ['<Plug>(coc-diagnostic-next-error)'   , 'next error'],
       \ 'o' : [':Vista!!'                            , 'outline'],
-      \ 'O' : [':CocList outline'                    , 'outline'],
+      \ 'O' : [':CocList outline'                    , 'search outline'],
       \ 'p' : ['<Plug>(coc-diagnostic-prev)'         , 'prev diagnostic'],
       \ 'P' : ['<Plug>(coc-diagnostic-prev-error)'   , 'prev error'],
       \ 'q' : ['<Plug>(coc-fix-current)'             , 'quickfix'],
@@ -256,44 +267,26 @@ let g:which_key_map.t = {
       \ 's' : [':FloatermNew ncdu'                              , 'ncdu'],
       \ }
 
-" " T is for terminal
-" let g:which_key_map.T = {
-"       \ 'name' : '+tabline' ,
-"       \ 'b' : [':XTabListBuffers'         , 'list buffers'],
-"       \ 'd' : [':XTabCloseBuffer'         , 'close buffer'],
-"       \ 'D' : [':XTabDeleteTab'           , 'close tab'],
-"       \ 'h' : [':XTabHideBuffer'          , 'hide buffer'],
-"       \ 'i' : [':XTabInfo'                , 'info'],
-"       \ 'l' : [':XTabLock'                , 'lock tab'],
-"       \ 'm' : [':XTabMode'                , 'toggle mode'],
-"       \ 'n' : [':tabNext'                 , 'next tab'],
-"       \ 'N' : [':XTabMoveBufferNext'      , 'buffer->'],
-"       \ 't' : [':tabnew'                  , 'new tab'],
-"       \ 'p' : [':tabprevious'             , 'prev tab'],
-"       \ 'P' : [':XTabMoveBufferPrev'      , '<-buffer'],
-"       \ 'x' : [':XTabPinBuffer'           , 'pin buffer'],
-"       \ }
-
 " w is for wiki
-let g:which_key_map.w = {
-      \ 'name' : '+wiki' ,
-      \ 'w' : ['<Plug>VimwikiIndex'                              , 'ncdu'],
-      \ 'n' : ['<plug>(wiki-open)'                              , 'ncdu'],
-      \ 'j' : ['<plug>(wiki-journal)'                              , 'ncdu'],
-      \ 'R' : ['<plug>(wiki-reload)'                              , 'ncdu'],
-      \ 'c' : ['<plug>(wiki-code-run)'                              , 'ncdu'],
-      \ 'b' : ['<plug>(wiki-graph-find-backlinks)'                              , 'ncdu'],
-      \ 'g' : ['<plug>(wiki-graph-in)'                              , 'ncdu'],
-      \ 'G' : ['<plug>(wiki-graph-out)'                              , 'ncdu'],
-      \ 'l' : ['<plug>(wiki-link-toggle)'                              , 'ncdu'],
-      \ 'd' : ['<plug>(wiki-page-delete)'                              , 'ncdu'],
-      \ 'r' : ['<plug>(wiki-page-rename)'                              , 'ncdu'],
-      \ 't' : ['<plug>(wiki-page-toc)'                              , 'ncdu'],
-      \ 'T' : ['<plug>(wiki-page-toc-local)'                              , 'ncdu'],
-      \ 'e' : ['<plug>(wiki-export)'                              , 'ncdu'],
-      \ 'u' : ['<plug>(wiki-list-uniq)'                              , 'ncdu'],
-      \ 'U' : ['<plug>(wiki-list-uniq-local)'                              , 'ncdu'],
-      \ }
+" let g:which_key_map.w = {
+"       \ 'name' : '+wiki' ,
+"       \ 'w' : ['<Plug>VimwikiIndex'                              , 'ncdu'],
+"       \ 'n' : ['<plug>(wiki-open)'                              , 'ncdu'],
+"       \ 'j' : ['<plug>(wiki-journal)'                              , 'ncdu'],
+"       \ 'R' : ['<plug>(wiki-reload)'                              , 'ncdu'],
+"       \ 'c' : ['<plug>(wiki-code-run)'                              , 'ncdu'],
+"       \ 'b' : ['<plug>(wiki-graph-find-backlinks)'                              , 'ncdu'],
+"       \ 'g' : ['<plug>(wiki-graph-in)'                              , 'ncdu'],
+"       \ 'G' : ['<plug>(wiki-graph-out)'                              , 'ncdu'],
+"       \ 'l' : ['<plug>(wiki-link-toggle)'                              , 'ncdu'],
+"       \ 'd' : ['<plug>(wiki-page-delete)'                              , 'ncdu'],
+"       \ 'r' : ['<plug>(wiki-page-rename)'                              , 'ncdu'],
+"       \ 't' : ['<plug>(wiki-page-toc)'                              , 'ncdu'],
+"       \ 'T' : ['<plug>(wiki-page-toc-local)'                              , 'ncdu'],
+"       \ 'e' : ['<plug>(wiki-export)'                              , 'ncdu'],
+"       \ 'u' : ['<plug>(wiki-list-uniq)'                              , 'ncdu'],
+"       \ 'U' : ['<plug>(wiki-list-uniq-local)'                              , 'ncdu'],
+"       \ }
 
 " Global
 " <Plug>VimwikiIndex

+ 13 - 0
lua/nvcodeline.lua

@@ -256,3 +256,16 @@ gls.short_line_left[1] = {
 --     highlight = {colors.grey,colors.purple}
 --   }
 -- }
+-- function! s:my_bookmark_color() abort
+--   let s:scl_guibg = matchstr(execute('hi SignColumn'), 'guibg=\zs\S*')
+--   if empty(s:scl_guibg)
+--     let s:scl_guibg = 'NONE'
+--   endif
+--   exe 'hi MyBookmarkSign guifg=' . s:scl_guibg
+-- endfunction
+-- call s:my_bookmark_color() " don't remove this line!
+
+-- augroup UserGitSignColumnColor
+--   autocmd!
+--   autocmd ColorScheme * call s:my_bookmark_color()
+-- augroup END

+ 33 - 0
plug-config/coc/coc-extensions.vim

@@ -0,0 +1,33 @@
+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-html',
+  \ 'coc-css',
+  \ 'coc-cssmodules',
+  \ 'coc-stylelintplus',
+  \ 'coc-emoji',
+  \ 'coc-bookmark',
+  \ 'coc-yaml',
+  \ 'coc-python',
+  \ 'coc-pyright',
+  \ 'coc-explorer',
+  \ 'coc-svg',
+  \ 'coc-prettier',
+  \ 'coc-vimlsp',
+  \ 'coc-xml',
+  \ 'coc-yank',
+  \ 'coc-json',
+  \ 'coc-marketplace',
+  \ ]
+  " \ 'coc-tabnine',
+  " \ 'coc-highlight',
+

+ 0 - 37
plug-config/coc.vim → plug-config/coc/coc.vim

@@ -1,34 +1,3 @@
-  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-html',
-    \ 'coc-css',
-    \ 'coc-emoji',
-    \ 'coc-cssmodules',
-    \ 'coc-yaml',
-    \ 'coc-python',
-    \ 'coc-pyright',
-    \ 'coc-explorer',
-    \ 'coc-svg',
-    \ 'coc-prettier',
-    \ 'coc-vimlsp',
-    \ 'coc-xml',
-    \ 'coc-yank',
-    \ 'coc-json',
-    \ 'coc-marketplace',
-    \ ]
-    " \ 'coc-tabnine',
-    " \ 'coc-highlight',
-
 " Use tab for trigger completion with characters ahead and navigate.
 inoremap <silent><expr> <TAB>
       \ pumvisible() ? "\<C-n>" :
@@ -100,12 +69,6 @@ xmap af <Plug>(coc-funcobj-a)
 omap if <Plug>(coc-funcobj-i)
 omap af <Plug>(coc-funcobj-a)
 
-" Use <TAB> for selections ranges.
-" NOTE: Requires 'textDocument/selectionRange' support from the language server.
-" coc-tsserver, coc-python are the examples of servers that support it.
-" nmap <silent> <TAB> <Plug>(coc-range-select)
-" xmap <silent> <TAB> <Plug>(coc-range-select)
-
 " Add `:Format` command to format current buffer.
 command! -nargs=0 Format :call CocAction('format')
 

BIN
utils/images/nvim.png