46 lines
1.1 KiB
Nix
46 lines
1.1 KiB
Nix
{ commonRC
|
|
, rustc
|
|
, racerd,
|
|
... } @ args :
|
|
|
|
import ../../pkg-configuration/vim-derivates/vim.nix (args // {
|
|
name = "vim-for-rust";
|
|
additionalRC = commonRC + ''
|
|
set statusline+=%#warningmsg#
|
|
set statusline+=%{SyntasticStatuslineFlag()}
|
|
set statusline+=%*
|
|
|
|
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
|
|
|
|
" tagbar
|
|
let g:tagbar_type_rust = {
|
|
\ 'ctagstype' : 'rust',
|
|
\ 'kinds' : [
|
|
\'T:types,type definitions',
|
|
\'f:functions,function definitions',
|
|
\'g:enum,enumeration names',
|
|
\'s:structure names',
|
|
\'m:modules,module names',
|
|
\'c:consts,static constants',
|
|
\'t:traits,traits',
|
|
\'i:impls,trait implementations',
|
|
\]
|
|
\}
|
|
|
|
let g:syntastic_rust_checkers = ["rustc"]
|
|
|
|
"rustfmt
|
|
let g:rustfmt_autosave = 1
|
|
|
|
let g:ycm_auto_trigger = 1
|
|
let g:ycm_rust_src_path = '${rustc.src}/src'
|
|
let g:ycm_racerd_binary_path = '${racerd.out}/bin/racerd'
|
|
|
|
'';
|
|
additionalPlugins = [
|
|
"rust-vim"
|
|
];
|
|
})
|