feat(neovim): update config

This commit is contained in:
Felix Schröter 2020-12-25 12:01:10 +01:00
parent 55b2b1ec34
commit d8998663dc
No known key found for this signature in database
GPG key ID: 910ACB9F6BD26F58
3 changed files with 34 additions and 28 deletions

View file

@ -2,12 +2,12 @@
let
neovim-unwrapped = pkgs.neovim-unwrapped.overrideAttrs (oldAttrs: rec {
version = "2020-11-26";
version = "2020-12-24";
src = pkgs.fetchFromGitHub {
owner = "neovim";
repo = "neovim";
rev = "10a5f40f9e020c28df471d5380869ac63d8474a7";
sha256 = "1ghdhkbznhh9n3mp39ydnsc1l94yrs4a5fbdm0hircqgz4wndh4y";
rev = "8c8cc35926f265bf4f048b83fd130bef3932851e";
sha256 = "1iswss5415n56cfxn9pylnpfnwafhfdnxfc1pk9z1m280i2whlyk";
};
nativeBuildInputs = oldAttrs.nativeBuildInputs
++ [ pkgs.utf8proc pkgs.tree-sitter ];
@ -15,15 +15,26 @@ let
buildVimPluginFrom2Nix = pkgs.vimUtils.buildVimPluginFrom2Nix;
completion-nvim = buildVimPluginFrom2Nix {
pname = "completion-nvim";
version = "2020-11-20";
src = pkgs.fetchFromGitHub {
owner = "nvim-lua";
repo = "completion-nvim";
rev = "936bbd17577101a4ffb07ea7f860f77dd8007d43";
sha256 = "1z399q3v36hx2ipj1fhxcc051pi4q0lifyglmclxi5zkbmm0z6a7";
};
};
# not very stable yet, no existing netcoredbg config
nvim-dap = buildVimPluginFrom2Nix {
pname = "nvim-dap";
version = "2020-09-14";
version = "2020-12-20";
src = pkgs.fetchFromGitHub {
owner = "mfussenegger";
repo = "nvim-dap";
rev = "59b312e95d7ee60bf66bbe199cfc168c62808d54";
sha256 = "0jvdrmgspgcs48zyfpwmywldjjpx539hdlibfjq6bdc1a8x8vis7";
rev = "664a5598f77c8bfec7f81f03e29516583ddc194c";
sha256 = "0rw30cmqnxm9sdrqissppdkdgfk3h2l4vh9m7679k3vx26ahq3qx";
};
};
@ -67,9 +78,7 @@ in {
nvim-lspconfig
nvim-dap
# might require :UpdateRemotePlugins
deoplete-nvim
deoplete-lsp
completion-nvim
vim-orgmode
];

View file

@ -1,5 +1,8 @@
" set shell=/bin/sh
set ignorecase
set smartcase
set termguicolors
set timeoutlen=500
@ -104,3 +107,7 @@ tnoremap :q! <C-\><C-n>:q!<CR>
" vim-closetag
let g:closetag_filenames = "*.html,*.jsx,*.tsx,*.vue,*.xhml,*.xml"
let g:closetag_regions = {
\ 'typescript.tsx': 'jsxRegion,tsxRegion',
\ 'javascript.jsx': 'jsxRegion',
\ }

View file

@ -1,27 +1,17 @@
" autocomplete config
set completeopt=menu,preview,menuone,noinsert
set omnifunc=v:lua.vim.lsp.omnifunc
let g:deoplete#enable_at_startup = 1
let g:deoplete#smart_case = 1
" let g:completion_timer_cycle = 20
" enable completion-nvim in all buffers
autocmd BufEnter * lua require'completion'.on_attach()
" Use <Tab> and <S-Tab> to navigate through popup menu
inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
" Use <c-space> to trigger completion.
inoremap <silent><expr> <c-space> deoplete#manual_complete()
" Autocomplete and cycle from top-to-bottom of suggestions using <Tab>.
inoremap <expr><TAB> pumvisible() ? "\<c-n>" : "\<TAB>"
" <TAB>: completion.
inoremap <silent><expr> <TAB>
\ pumvisible() ? "\<C-n>" :
\ <SID>check_back_space() ? "\<TAB>" :
\ deoplete#manual_complete()
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
imap <silent> <c-space> <Plug>(completion_trigger)
" maps
nnoremap <silent> gd <cmd>lua vim.lsp.buf.definition()<CR>