2022-10-31 11:04:38 +01:00
|
|
|
{ commonRC, rustc, racerd, ... }@args:
|
2017-02-07 20:16:11 +01:00
|
|
|
|
|
|
|
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'
|
|
|
|
|
2022-10-31 11:04:38 +01:00
|
|
|
'';
|
|
|
|
additionalPlugins = [ "rust-vim" ];
|
2017-02-07 20:16:11 +01:00
|
|
|
})
|