summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--coc-settings.json27
-rw-r--r--general/settings.vim2
-rw-r--r--init.vim8
-rw-r--r--keys/which-key.vim97
-rw-r--r--plug-config/coc.vim49
-rw-r--r--plug-config/fzf.vim10
-rw-r--r--plug-config/sneak.vim2
-rw-r--r--plug-config/start-screen.vim6
-rw-r--r--vim-plug/plugins.vim1
9 files changed, 160 insertions, 42 deletions
diff --git a/coc-settings.json b/coc-settings.json
index 8599d4ca..edb93d0c 100644
--- a/coc-settings.json
+++ b/coc-settings.json
@@ -1,10 +1,31 @@
{
+
+ // suggestions
+ // "suggest.echodocSupport": true,
+
+ // diagnostics
+ "diagnostic.errorSign": "✗",
+ "diagnostic.warningSign": "âš ",
+ "diagnostic.infoSign": "ï„©",
+ "diagnostic.hintSign": "ï‚­ ",
+ // "diagnostic.displayByAle": true,
+
+ // codelens TODO what does this get me?
+ // "codeLens.enable": true,
+
+ // list
+ "list.indicator": ">",
+ "list.selectedSignText": " ",
+
+ // autoformat
"coc.preferences.formatOnSaveFiletypes": ["css", "markdown", "javascript", "graphql", "html", "yaml", "json", "python"],
+ "coc.preferences.hoverTarget": "float",
// python config
"python.linting.enabled": true,
"python.linting.pylintEnabled": true,
+ // snippets
"snippets.ultisnips.directories":
[
"UltiSnips",
@@ -15,8 +36,14 @@
"explorer.width": 30,
"explorer.icon.enableNerdfont": true,
"explorer.previewAction.onHover": false,
+ "explorer.icon.enableVimDevicons": true,
"explorer.keyMappings": {
"<cr>": ["expandable?", "expand", "open"],
"v": "open:vsplit"
}
+
+ // TODO language servers
+ // TODO g:coc_global_extensions
+ // TODO b:coc_suggest_disable=1 GOYO
+ // TODO add to paths.vim g:coc_node_path
}
diff --git a/general/settings.vim b/general/settings.vim
index c2f89897..be7e9acf 100644
--- a/general/settings.vim
+++ b/general/settings.vim
@@ -38,6 +38,8 @@ if !exists('g:vscode')
set formatoptions-=cro " Stop newline continution of comments
set clipboard=unnamedplus " Copy paste between vim and everything else
set incsearch
+ set guifont=Hack\ Nerd\ Font
+ " let $NVIM_TUI_ENABLE_TRUE_COLOR=1
" set mmp=1300
" set autochdir " Your working directory will always be the same as your working directory
" set foldcolumn=2 " Folding abilities
diff --git a/init.vim b/init.vim
index 74ceb135..c1deabc1 100644
--- a/init.vim
+++ b/init.vim
@@ -22,7 +22,6 @@ else
source $HOME/.config/nvim/themes/syntax.vim
source $HOME/.config/nvim/themes/onedark.vim
source $HOME/.config/nvim/themes/airline.vim
- " source $HOME/.config/nvim/themes/eleline.vim
source $HOME/.config/nvim/plug-config/rnvimr.vim
source $HOME/.config/nvim/plug-config/fzf.vim
source $HOME/.config/nvim/plug-config/commentary.vim
@@ -37,3 +36,10 @@ else
source $HOME/.config/nvim/plug-config/signify.vim
luafile $HOME/.config/nvim/lua/plug-colorizer.lua
endif
+
+let g:floaterm_wintype='normal'
+let g:floaterm_height=6
+let g:floaterm_keymap_new = '<F7>'
+let g:floaterm_keymap_prev = '<F8>'
+let g:floaterm_keymap_next = '<F9>'
+let g:floaterm_keymap_toggle = '<F12>'
diff --git a/keys/which-key.vim b/keys/which-key.vim
index 2cf2e48e..d37592e4 100644
--- a/keys/which-key.vim
+++ b/keys/which-key.vim
@@ -2,15 +2,16 @@
" call which_key#register('<Space>', "g:which_key_map")
nnoremap <silent> <leader> :silent WhichKey ' '<CR>
+vnoremap <silent> <leader> :silent WhichKeyVisual ' '<CR>
+
+let g:which_key_map = {}
+let g:which_key_sep = '→'
+" set timeoutlen=100
" Not a fan of floating windows for this
let g:which_key_use_floating_win = 0
-" highlight default link WhichKey Function
-" highlight default link WhichKeySeperator DiffAdded
-" highlight default link WhichKeyGroup Keyword
-" highlight default link WhichKeyDesc Identifier
-
+" Change the colors if you want
highlight default link WhichKey Operator
highlight default link WhichKeySeperator DiffAdded
highlight default link WhichKeyGroup Identifier
@@ -19,5 +20,89 @@ highlight default link WhichKeyDesc Function
" Hide status line
autocmd! FileType which_key
autocmd FileType which_key set laststatus=0 noshowmode noruler
- \| autocmd BufLeave <buffer> set laststatus=2 noshowmode ruler
+ \| autocmd BufLeave <buffer> set laststatus=2 noshowmode ruler
+
+" f is for find
+let g:which_key_map.f = {
+ \ 'name' : '+find' ,
+ \ '/' : [':History/' , 'history'],
+ \ ';' : [':Commands' , 'commands'],
+ \ 'a' : [':Ag' , 'text Ag'],
+ \ 'b' : [':BLines' , 'current buffer'],
+ \ 'B' : [':Buffers' , 'open buffers'],
+ \ 'c' : [':Commits' , 'commits'],
+ \ 'C' : [':BCommits' , 'buffer commits'],
+ \ 'f' : [':Files' , 'files'],
+ \ 'g' : [':GFiles' , 'git files'],
+ \ 'G' : [':GFiles?' , 'modified git files'],
+ \ 'h' : [':History' , 'file history'],
+ \ 'H' : [':History:' , 'command history'],
+ \ 'l' : [':Lines' , 'lines'] ,
+ \ 'm' : [':Marks' , 'marks'] ,
+ \ 'M' : [':Maps' , 'normal maps'] ,
+ \ 'p' : [':Helptags' , 'help tags'] ,
+ \ 'r' : [':Rg' , 'text Rg'],
+ \ 's' : [':Snippets' , 'snippets'],
+ \ 'S' : [':Colors' , 'color schemes'],
+ \ 't' : [':Tags' , 'project tags'],
+ \ 'T' : [':BTags' , 'buffer tags'],
+ \ 'w' : [':Windows' , 'search windows'],
+ \ 'y' : [':Filetypes' , 'file types'],
+ \ 'z' : [':FZF' , 'FZF'],
+ \ }
+let g:fzf_buffers_jump = 1
+
+" l is for language server protocol
+let g:which_key_map.l = {
+ \ 'name' : '+lsp' ,
+ \ '.' : [':CocConfig' , 'config'],
+ \ ';' : ['<Plug>(coc-refactor)' , 'refactor'],
+ \ 'a' : ['<Plug>(coc-codeaction)' , 'line action'],
+ \ 'A' : ['<Plug>(coc-codeaction-selected)' , 'selected action'],
+ \ 'b' : [':CocNext' , 'next action'],
+ \ 'B' : [':CocPrev' , 'prev action'],
+ \ 'c' : [':CocList commands' , 'commands'],
+ \ 'd' : ['<Plug>(coc-definition)' , 'definition'],
+ \ 'D' : ['<Plug>(coc-declaration)' , 'declaration'],
+ \ 'e' : [':CocList extensions' , 'extensions'],
+ \ 'f' : ['<Plug>(coc-format-selected)' , 'format selected'],
+ \ 'F' : ['<Plug>(coc-format)' , 'format'],
+ \ 'h' : ['<Plug>(coc-float-hide)' , 'hide'],
+ \ 'i' : ['<Plug>(coc-implementation)' , 'implementation'],
+ \ 'I' : [':CocList diagnostics' , 'diagnostics'],
+ \ 'j' : ['<Plug>(coc-float-jump)' , 'float jump'],
+ \ 'l' : ['<Plug>(coc-codelens-action)' , 'code lens'],
+ \ 'n' : ['<Plug>(coc-diagnostic-next)' , 'next diagnostic'],
+ \ 'N' : ['<Plug>(coc-diagnostic-next-error)' , 'next error'],
+ \ 'o' : ['<Plug>(coc-openlink)' , 'open link'],
+ \ 'O' : [':CocList outline' , 'outline'],
+ \ 'p' : ['<Plug>(coc-diagnostic-prev)' , 'prev diagnostic'],
+ \ 'P' : ['<Plug>(coc-diagnostic-prev-error)' , 'prev error'],
+ \ 'q' : ['<Plug>(coc-fix-current)' , 'quickfix'],
+ \ 'r' : ['<Plug>(coc-rename)' , 'rename'],
+ \ 'R' : ['<Plug>(coc-references)' , 'references'],
+ \ 's' : [':CocList -I symbols' , 'references'],
+ \ 't' : ['<Plug>(coc-type-definition)' , 'type definition'],
+ \ 'u' : [':CocListResume' , 'resume list'],
+ \ 'U' : [':CocUpdate' , 'update CoC'],
+ \ 'z' : [':CocDisable' , 'disable CoC'],
+ \ 'Z' : [':CocEnable' , 'enable CoC'],
+ \ }
+
+
+" t is for toggle
+let g:which_key_map.t = {
+ \ 'name' : '+toggle' ,
+ \ 'e' : [':CocCommand explorer' , 'explorer'],
+ \ 'n' : [':set nonumber!' , 'line-numbers'],
+ \ 'r' : [':set norelativenumber!' , 'rel-line-numbers'],
+ \ 's' : [':let @/ = ""' , 'remove-search-highlight'],
+ \ 'c' : [':ColorizerToggle' , 'colorizer'],
+ \ 't' : [':FloatermToggle' , 'terminal'],
+ \ }
+
+
+
+
+call which_key#register('<Space>', "g:which_key_map")
diff --git a/plug-config/coc.vim b/plug-config/coc.vim
index babae7ed..428230d1 100644
--- a/plug-config/coc.vim
+++ b/plug-config/coc.vim
@@ -22,10 +22,6 @@ else
imap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>"
endif
-" Use `[g` and `]g` to navigate diagnostics
-nmap <silent> [g <Plug>(coc-diagnostic-prev)
-nmap <silent> ]g <Plug>(coc-diagnostic-next)
-
" GoTo code navigation.
nmap <silent> gd <Plug>(coc-definition)
nmap <silent> gy <Plug>(coc-type-definition)
@@ -49,10 +45,6 @@ autocmd CursorHold * silent call CocActionAsync('highlight')
" Symbol renaming.
nmap <leader>rn <Plug>(coc-rename)
-" Formatting selected code.
-xmap <leader>f <Plug>(coc-format-selected)
-nmap <leader>f <Plug>(coc-format-selected)
-
augroup mygroup
autocmd!
" Setup formatexpr specified filetype(s).
@@ -63,13 +55,13 @@ 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)
+" 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)
+" nmap <leader>ac <Plug>(coc-codeaction)
" Apply AutoFix to problem on the current line.
-nmap <leader>qf <Plug>(coc-fix-current)
+" nmap <leader>qf <Plug>(coc-fix-current)
" Introduce function text object
" NOTE: Requires 'textDocument.documentSymbol' support from the language server.
@@ -100,21 +92,22 @@ set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')}
" Mappings using CoCList:
" Show all diagnostics.
-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>
+" 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 = {
@@ -137,5 +130,5 @@ let g:coc_explorer_global_presets = {
\ }
"nmap <silent> <space>e :CocCommand explorer<CR>
nnoremap <silent> <leader>e :CocCommand explorer<CR>
-nmap <space>f :CocCommand explorer --preset floatingRightside<CR>
+" nmap <space>f :CocCommand explorer --preset floatingRightside<CR>
autocmd BufEnter * if (winnr("$") == 1 && &filetype == 'coc-explorer') | q | endif
diff --git a/plug-config/fzf.vim b/plug-config/fzf.vim
index 0e95a46f..c7ad00a2 100644
--- a/plug-config/fzf.vim
+++ b/plug-config/fzf.vim
@@ -10,11 +10,11 @@ let g:fzf_action = {
" explicitly bind the keys to down and up in your $FZF_DEFAULT_OPTS.
let g:fzf_history_dir = '~/.local/share/fzf-history'
-map <C-f> :Files<CR>
-map <leader>b :Buffers<CR>
-nnoremap <leader>g :Rg<CR>
-nnoremap <leader>t :Tags<CR>
-nnoremap <leader>m :Marks<CR>
+" map <C-f> :Files<CR>
+" map <leader>b :Buffers<CR>
+" nnoremap <leader>g :Rg<CR>
+" nnoremap <leader>t :Tags<CR>
+" nnoremap <leader>m :Marks<CR>
let g:fzf_tags_command = 'ctags -R'
diff --git a/plug-config/sneak.vim b/plug-config/sneak.vim
index 29b57834..a879c6eb 100644
--- a/plug-config/sneak.vim
+++ b/plug-config/sneak.vim
@@ -15,7 +15,7 @@ highlight Sneak guifg=black guibg=#00C7DF ctermfg=black ctermbg=cyan
highlight SneakScope guifg=red guibg=yellow ctermfg=red ctermbg=yellow
" Cool prompt
-let g:sneak#prompt = '🔎'
+let g:sneak#prompt = '🔎 '
" I like quickscope better for this since it keeps me in the scope of a single line
" map f <Plug>Sneak_f
diff --git a/plug-config/start-screen.vim b/plug-config/start-screen.vim
index 8024fa16..2e926721 100644
--- a/plug-config/start-screen.vim
+++ b/plug-config/start-screen.vim
@@ -23,6 +23,12 @@ let g:startify_change_to_vcs_root = 1
let g:startify_fortune_use_unicode = 1
let g:startify_session_persistence = 1
+let g:webdevicons_enable_startify = 1
+
+function! StartifyEntryFormat()
+ return 'WebDevIconsGetFileTypeSymbol(absolute_path) ." ". entry_path'
+ endfunction
+
let g:startify_bookmarks = [
\ { 'c': '~/.config/i3/config' },
\ { 'i': '~/.config/nvim/init.vim' },
diff --git a/vim-plug/plugins.vim b/vim-plug/plugins.vim
index f545c3d3..4dc00292 100644
--- a/vim-plug/plugins.vim
+++ b/vim-plug/plugins.vim
@@ -47,7 +47,6 @@ call plug#begin('~/.config/nvim/autoload/plugged')
" Intellisense
Plug 'neoclide/coc.nvim', {'branch': 'release'}
" Status Line
- " Plug 'ChristianChiarulli/eleline.vim'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
" Ranger