48 lines
1.3 KiB
Nix
48 lines
1.3 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"];
|
|
})
|