[nvim] add niceties for rust

This commit is contained in:
Julien Rabier 2020-06-28 15:42:56 +02:00
parent 6e36ec0980
commit 18db8ae84c

View File

@ -29,6 +29,9 @@ call minpac#add('vim-syntastic/syntastic')
call minpac#add('majutsushi/tagbar')
call minpac#add('Shougo/deoplete.nvim')
call minpac#add('racer-rust/vim-racer')
call minpac#add('neomake/neomake')
call minpac#add('ervandew/supertab')
call minpac#add('dense-analysis/ale')
command! PackUpdate call minpac#update()
command! PackClean call minpac#clean()
@ -69,6 +72,7 @@ set expandtab
set tabstop=4
set shiftwidth=4
set softtabstop=4
set pastetoggle=<F2>
"set formatoptions=tcrqn2w
"set formatlistpat=^\\s*[\\d\\*-]\\+[\\]:.)}\\t\ ]\\s*
@ -181,3 +185,32 @@ let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0
" Racer
augroup Racer
autocmd!
autocmd FileType rust nmap <buffer> gd <Plug>(rust-def)
autocmd FileType rust nmap <buffer> gs <Plug>(rust-def-split)
autocmd FileType rust nmap <buffer> gx <Plug>(rust-def-vertical)
autocmd FileType rust nmap <buffer> gt <Plug>(rust-def-tab)
autocmd FileType rust nmap <buffer> <leader>gd <Plug>(rust-doc)
autocmd FileType rust nmap <buffer> <leader>gD <Plug>(rust-doc-tab)
augroup END
" rust https://dev.to/drmason13/configure-neovim-for-rust-development-1fjn
" setup rust_analyzer LSP (IDE features)
"lua require'nvim_lsp'.rust_analyzer.setup{}
" Use LSP omni-completion in Rust files
"autocmd Filetype rust setlocal omnifunc=v:lua.vim.lsp.omnifunc
" Enable deoplete autocompletion in Rust files
let g:deoplete#enable_at_startup = 1
" Press Tab to scroll _down_ a list of auto-completions
let g:SuperTabDefaultCompletionType = "<c-n>"
" ale rust-analyser
let g:ale_linters = {'rust': ['analyzer']}
nnoremap <leader>c :!cargo clippy