diff options
| author | Chris <[email protected]> | 2021-03-15 13:49:01 -0400 | 
|---|---|---|
| committer | Chris <[email protected]> | 2021-03-15 13:49:01 -0400 | 
| commit | c2eb12dc46be3850f11789655fe967fd8f5b0743 (patch) | |
| tree | 927a9c45193598bb842e5bf95cc7088f87b8c8bc /lua | |
| parent | c09032b8c084bbc36e591582da80b14f02e6cedf (diff) | |
| parent | 54dfe417143d67c64ff5c779f561cda0182670e3 (diff) | |
updates
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/keymappings.lua | 2 | ||||
| -rw-r--r-- | lua/lsp/init.lua | 2 | ||||
| -rw-r--r-- | lua/lsp/js-ts-ls.lua | 8 | ||||
| -rw-r--r-- | lua/nv-closetag/init.lua | 3 | ||||
| -rw-r--r-- | lua/nv-compe/init.lua | 2 | ||||
| -rw-r--r-- | lua/nv-gitblame/init.lua | 2 | ||||
| -rw-r--r-- | lua/nv-kommentary/init.lua | 16 | ||||
| -rw-r--r-- | lua/nv-startify/init.lua | 7 | ||||
| -rw-r--r-- | lua/nv-vscode/init.vim | 105 | ||||
| -rw-r--r-- | lua/nv-whichkey/init.vim | 4 | ||||
| -rw-r--r-- | lua/plugins.lua | 6 | 
11 files changed, 141 insertions, 16 deletions
| diff --git a/lua/keymappings.lua b/lua/keymappings.lua index fe910de5..b5a57924 100644 --- a/lua/keymappings.lua +++ b/lua/keymappings.lua @@ -59,6 +59,8 @@ vim.api.nvim_set_keymap('x', 'J', ':move \'>+1<CR>gv-gv', { noremap = true, sile  -- Better nav for omnicomplete  vim.cmd('inoremap <expr> <c-j> (\"\\<C-n>\")')  vim.cmd('inoremap <expr> <c-k> (\"\\<C-p>\")') +-- vim.cmd('inoremap <expr> <TAB> (\"\\<C-n>\")') +-- vim.cmd('inoremap <expr> <S-TAB> (\"\\<C-p>\")')  -- TAB Complete  --vim.api.nvim_set_keymap('i', '<expr><TAB>', 'pumvisible() ? \"\\<C-n>\" : \"\\<TAB>\"', { noremap = true, silent = true }) diff --git a/lua/lsp/init.lua b/lua/lsp/init.lua index 0419f5c2..89969d54 100644 --- a/lua/lsp/init.lua +++ b/lua/lsp/init.lua @@ -10,7 +10,7 @@ vim.cmd('nnoremap <silent> gr <cmd>lua vim.lsp.buf.references()<CR>')  vim.cmd('nnoremap <silent> gi <cmd>lua vim.lsp.buf.implementation()<CR>')  vim.cmd('nnoremap <silent> ca :Lspsaga code_action<CR>')  vim.cmd('nnoremap <silent> K :Lspsaga hover_doc<CR>') -vim.cmd('nnoremap <silent> <C-k> <cmd>lua vim.lsp.buf.signature_help()<CR>') +-- vim.cmd('nnoremap <silent> <C-k> <cmd>lua vim.lsp.buf.signature_help()<CR>')  vim.cmd('nnoremap <silent> <C-p> :Lspsaga diagnostic_jump_prev<CR>')  vim.cmd('nnoremap <silent> <C-n> :Lspsaga diagnostic_jump_next<CR>')  -- scroll down hover doc or scroll in definition preview diff --git a/lua/lsp/js-ts-ls.lua b/lua/lsp/js-ts-ls.lua index 9d35fcbf..e6e856d1 100644 --- a/lua/lsp/js-ts-ls.lua +++ b/lua/lsp/js-ts-ls.lua @@ -1,2 +1,8 @@  -- npm install -g typescript typescript-language-server -require'lspconfig'.tsserver.setup{} +require'snippets'.use_suggested_mappings() + +local capabilities = vim.lsp.protocol.make_client_capabilities() +capabilities.textDocument.completion.completionItem.snippetSupport = true; +require'lspconfig'.tsserver.setup{ +    capabilities = capabilities, +} diff --git a/lua/nv-closetag/init.lua b/lua/nv-closetag/init.lua new file mode 100644 index 00000000..8c116410 --- /dev/null +++ b/lua/nv-closetag/init.lua @@ -0,0 +1,3 @@ +vim.g.closetag_filenames = '*.html,*.xhtml,*.phtml' +vim.g.closetag_xhtml_filenames = '*.xhtml,*.jsx,*.js' +vim.g.closetag_filetypes = 'html,xhtml,phtml,javascript,javascriptreact' diff --git a/lua/nv-compe/init.lua b/lua/nv-compe/init.lua index 4dcfe26a..75fa9b55 100644 --- a/lua/nv-compe/init.lua +++ b/lua/nv-compe/init.lua @@ -1,3 +1,5 @@ +vim.o.completeopt = "menuone,noselect" +  require'compe'.setup {    enabled = true;    autocomplete = true; diff --git a/lua/nv-gitblame/init.lua b/lua/nv-gitblame/init.lua new file mode 100644 index 00000000..12645a7f --- /dev/null +++ b/lua/nv-gitblame/init.lua @@ -0,0 +1,2 @@ +vim.cmd('highlight default link gitblame SpecialComment') +vim.g.gitblame_enabled = 0 diff --git a/lua/nv-kommentary/init.lua b/lua/nv-kommentary/init.lua index c64290ae..dea90f75 100644 --- a/lua/nv-kommentary/init.lua +++ b/lua/nv-kommentary/init.lua @@ -1,16 +1,6 @@  vim.g.kommentary_create_default_mappings = false  vim.api.nvim_set_keymap("n", "<leader>/", "<Plug>kommentary_line_default", {}) ---vim.api.nvim_set_keymap("n", "<leader>c", "<Plug>kommentary_motion_default", {})  vim.api.nvim_set_keymap("v", "<leader>/", "<Plug>kommentary_visual_default", {}) ---[[vim.cmd([[ -function! Comment() -  if (mode() == "n" ) -    execute "Commentary" -  else     -    execute "'<,'>Commentary" -  endif - endfunction -vnoremap <silent> <space>/ :call Comment() -autocmd! BufRead,BufNewFile *.{jsx,jx,js} setlocal filetype=javascript.jsx -autocmd FileType javascript.jsx setlocal commentstring={/*\ %s\ */} -]] +require('kommentary.config').configure_language("default", { +    prefer_single_line_comments = true, +}) diff --git a/lua/nv-startify/init.lua b/lua/nv-startify/init.lua index e0e341d0..8e05cdbd 100644 --- a/lua/nv-startify/init.lua +++ b/lua/nv-startify/init.lua @@ -20,3 +20,10 @@ vim.g.startify_session_dir = '~/.config/nvim/session'  vim.api.nvim_exec('let startify_lists = [ { \'type\': \'files\',     \'header\': [\'   Files\'] }, { \'type\': \'sessions\',  \'header\': [\'   Sessions\'] },    { \'type\': \'bookmarks\', \'header\': [\'   Bookmarks\'] },                                                                   ]',true)  vim.api.nvim_exec('let startify_bookmarks = [ { \'b\': \'~/Blog\' }, { \'i\': \'~/.config/nvim/init.vim\' }, { \'z\': \'~/.zshrc\' }]', true) + +vim.cmd([[ +function! StartifyEntryFormat() +        return 'WebDevIconsGetFileTypeSymbol(absolute_path) ." ". entry_path' +endfunction +]]) + diff --git a/lua/nv-vscode/init.vim b/lua/nv-vscode/init.vim new file mode 100644 index 00000000..9ca19a3b --- /dev/null +++ b/lua/nv-vscode/init.vim @@ -0,0 +1,105 @@ +" TODO there is a more contemporary version of this file +" TODO Also some of it is redundant +"VSCode +function! s:split(...) abort +    let direction = a:1 +    let file = a:2 +    call VSCodeCall(direction == 'h' ? 'workbench.action.splitEditorDown' : 'workbench.action.splitEditorRight') +    if file != '' +        call VSCodeExtensionNotify('open-file', expand(file), 'all') +    endif +endfunction + +function! s:splitNew(...) +    let file = a:2 +    call s:split(a:1, file == '' ? '__vscode_new__' : file) +endfunction + +function! s:closeOtherEditors() +    call VSCodeNotify('workbench.action.closeEditorsInOtherGroups') +    call VSCodeNotify('workbench.action.closeOtherEditors') +endfunction + +function! s:manageEditorSize(...) +    let count = a:1 +    let to = a:2 +    for i in range(1, count ? count : 1) +        call VSCodeNotify(to == 'increase' ? 'workbench.action.increaseViewSize' : 'workbench.action.decreaseViewSize') +    endfor +endfunction + +function! s:vscodeCommentary(...) abort +    if !a:0 +        let &operatorfunc = matchstr(expand('<sfile>'), '[^. ]*$') +        return 'g@' +    elseif a:0 > 1 +        let [line1, line2] = [a:1, a:2] +    else +        let [line1, line2] = [line("'["), line("']")] +    endif + +    call VSCodeCallRange("editor.action.commentLine", line1, line2, 0) +endfunction + +function! s:openVSCodeCommandsInVisualMode() +    normal! gv +    let visualmode = visualmode() +    if visualmode == "V" +        let startLine = line("v") +        let endLine = line(".") +        call VSCodeNotifyRange("workbench.action.showCommands", startLine, endLine, 1) +    else +        let startPos = getpos("v") +        let endPos = getpos(".") +        call VSCodeNotifyRangePos("workbench.action.showCommands", startPos[1], endPos[1], startPos[2], endPos[2], 1) +    endif +endfunction + +function! s:openWhichKeyInVisualMode() +    normal! gv +    let visualmode = visualmode() +    if visualmode == "V" +        let startLine = line("v") +        let endLine = line(".") +        call VSCodeNotifyRange("whichkey.show", startLine, endLine, 1) +    else +        let startPos = getpos("v") +        let endPos = getpos(".") +        call VSCodeNotifyRangePos("whichkey.show", startPos[1], endPos[1], startPos[2], endPos[2], 1) +    endif +endfunction + + +command! -complete=file -nargs=? Split call <SID>split('h', <q-args>) +command! -complete=file -nargs=? Vsplit call <SID>split('v', <q-args>) +command! -complete=file -nargs=? New call <SID>split('h', '__vscode_new__') +command! -complete=file -nargs=? Vnew call <SID>split('v', '__vscode_new__') +command! -bang Only if <q-bang> == '!' | call <SID>closeOtherEditors() | else | call VSCodeNotify('workbench.action.joinAllGroups') | endif + +" Better Navigation +nnoremap <silent> <C-j> :call VSCodeNotify('workbench.action.navigateDown')<CR> +xnoremap <silent> <C-j> :call VSCodeNotify('workbench.action.navigateDown')<CR> +nnoremap <silent> <C-k> :call VSCodeNotify('workbench.action.navigateUp')<CR> +xnoremap <silent> <C-k> :call VSCodeNotify('workbench.action.navigateUp')<CR> +nnoremap <silent> <C-h> :call VSCodeNotify('workbench.action.navigateLeft')<CR> +xnoremap <silent> <C-h> :call VSCodeNotify('workbench.action.navigateLeft')<CR> +nnoremap <silent> <C-l> :call VSCodeNotify('workbench.action.navigateRight')<CR> +xnoremap <silent> <C-l> :call VSCodeNotify('workbench.action.navigateRight')<CR> + +nnoremap gr <Cmd>call VSCodeNotify('editor.action.goToReferences')<CR> + +" Bind C-/ to vscode commentary since calling from vscode produces double comments due to multiple cursors +xnoremap <expr> <C-/> <SID>vscodeCommentary() +nnoremap <expr> <C-/> <SID>vscodeCommentary() . '_' + +nnoremap <silent> <C-w>_ :<C-u>call VSCodeNotify('workbench.action.toggleEditorWidths')<CR> + +nnoremap <silent> <Space> :call VSCodeNotify('whichkey.show')<CR> +xnoremap <silent> <Space> :<C-u>call <SID>openWhichKeyInVisualMode()<CR> + +xnoremap <silent> <C-P> :<C-u>call <SID>openVSCodeCommandsInVisualMode()<CR> + +xmap gc  <Plug>VSCodeCommentary +nmap gc  <Plug>VSCodeCommentary +omap gc  <Plug>VSCodeCommentary +nmap gcc <Plug>VSCodeCommentaryLine diff --git a/lua/nv-whichkey/init.vim b/lua/nv-whichkey/init.vim index 313deada..54919914 100644 --- a/lua/nv-whichkey/init.vim +++ b/lua/nv-whichkey/init.vim @@ -31,9 +31,11 @@ let g:which_key_map['e'] = [ ':NvimTreeToggle'                                 ,  let g:which_key_map['h'] = [ '<C-W>s'                                          , 'split below']  let g:which_key_map['n'] = [ ':let @/ = ""'                                    , 'no highlight' ]  let g:which_key_map['r'] = [ ':RnvimrToggle'                                   , 'ranger' ] +" TODO create entire treesitter section  let g:which_key_map['T'] = [ ':TSHighlightCapturesUnderCursor'                 , 'treesitter highlight' ]  let g:which_key_map['v'] = [ '<C-W>v'                                          , 'split right'] -let g:which_key_map['z'] = [ 'Goyo'                                            , 'zen' ] +" Add Zen mode, play nice with status line +" let g:which_key_map['z'] = [ 'Goyo'                                            , 'zen' ]  " Group mappings diff --git a/lua/plugins.lua b/lua/plugins.lua index 01766f66..3dae1994 100644 --- a/lua/plugins.lua +++ b/lua/plugins.lua @@ -33,6 +33,10 @@ return require('packer').startup(function()    -- Autocomplete    use 'hrsh7th/nvim-compe'    use 'hrsh7th/vim-vsnip' +  use 'honza/vim-snippets' +  use 'norcalli/snippets.nvim' + +  -- use 'SirVer/ultisnips'    -- Treesitter    use { 'nvim-treesitter/nvim-treesitter', run = ':TSUpdate' } @@ -41,6 +45,7 @@ return require('packer').startup(function()    -- Icons    use 'kyazdani42/nvim-web-devicons' +  use 'ryanoasis/vim-devicons'    -- Status Line and Bufferline    use 'glepnir/galaxyline.nvim' @@ -64,6 +69,7 @@ return require('packer').startup(function()    -- Git    use 'TimUntersberger/neogit'    use {'lewis6991/gitsigns.nvim', requires = { 'nvim-lua/plenary.nvim' } } +  use 'f-person/git-blame.nvim'    -- Easily Create Gists    use 'mattn/vim-gist' | 
