[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

@ -1,34 +1,37 @@
packadd minpac
call minpac#init()
" minpac must have {'type': 'opt'} so that it can be loaded with `packadd`.
call minpac#add('k-takata/minpac', {'type': 'opt'})
call minpac#add('honza/vim-snippets', {'type': 'start'})
call minpac#add('SirVer/ultisnips')
call minpac#add('junegunn/limelight.vim')
call minpac#add('junegunn/goyo.vim')
call minpac#add('junegunn/fzf')
call minpac#add('junegunn/fzf.vim')
call minpac#add('ambv/black')
call minpac#add('davidhalter/jedi-vim')
call minpac#add('vim-airline/vim-airline')
call minpac#add('ap/vim-css-color')
call minpac#add('fatih/vim-go')
call minpac#add('dpelle/vim-Grammalecte')
call minpac#add('ledger/vim-ledger')
call minpac#add('tpope/vim-markdown')
call minpac#add('nfnty/vim-nftables')
call minpac#add('adborden/vim-notmuch-address')
call minpac#add('cespare/vim-toml')
call minpac#add('pbrisbin/vim-mkdir')
call minpac#add('tpope/vim-eunuch')
call minpac#add('lambdalisue/suda.vim')
call minpac#add('airblade/vim-gitgutter')
call minpac#add('rust-lang/rust.vim')
call minpac#add('thaerkh/vim-indentguides')
call minpac#add('vim-syntastic/syntastic')
call minpac#add('majutsushi/tagbar')
call minpac#add('Shougo/deoplete.nvim')
call minpac#add('racer-rust/vim-racer')
" minpac must have {'type': 'opt'} so that it can be loaded with `packadd`.
call minpac#add('k-takata/minpac', {'type': 'opt'})
call minpac#add('honza/vim-snippets', {'type': 'start'})
call minpac#add('SirVer/ultisnips')
call minpac#add('junegunn/limelight.vim')
call minpac#add('junegunn/goyo.vim')
call minpac#add('junegunn/fzf')
call minpac#add('junegunn/fzf.vim')
call minpac#add('ambv/black')
call minpac#add('davidhalter/jedi-vim')
call minpac#add('vim-airline/vim-airline')
call minpac#add('ap/vim-css-color')
call minpac#add('fatih/vim-go')
call minpac#add('dpelle/vim-Grammalecte')
call minpac#add('ledger/vim-ledger')
call minpac#add('tpope/vim-markdown')
call minpac#add('nfnty/vim-nftables')
call minpac#add('adborden/vim-notmuch-address')
call minpac#add('cespare/vim-toml')
call minpac#add('pbrisbin/vim-mkdir')
call minpac#add('tpope/vim-eunuch')
call minpac#add('lambdalisue/suda.vim')
call minpac#add('airblade/vim-gitgutter')
call minpac#add('rust-lang/rust.vim')
call minpac#add('thaerkh/vim-indentguides')
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*
@ -85,7 +89,7 @@ match RedundantSpaces /\s\+$\| \+\ze\t\|\t/
" Jump to the last position when reopening a file
if has("autocmd")
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif
nmap <F8> :TagbarToggle<CR>
@ -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