diff options
Diffstat (limited to 'ftplugin')
-rw-r--r-- | ftplugin/rust.vim | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/ftplugin/rust.vim b/ftplugin/rust.vim index 7443f9d..90cf440 100644 --- a/ftplugin/rust.vim +++ b/ftplugin/rust.vim | |||
@@ -23,7 +23,18 @@ endfunction | |||
23 | 23 | ||
24 | nnoremap <leader>r :call RustMake() <bar> silent! redraw <bar> cwindow<cr> | 24 | nnoremap <leader>r :call RustMake() <bar> silent! redraw <bar> cwindow<cr> |
25 | 25 | ||
26 | augroup RustFmt | 26 | if exists('*RustFmtSimple') |
27 | finish | ||
28 | endif | ||
29 | |||
30 | function! RustFmtSimple() abort | ||
31 | let winview = winsaveview() | ||
32 | silent exec "!cargo fmt" | ||
33 | bufdo edit | ||
34 | call winrestview(winview) | ||
35 | endfunction | ||
36 | |||
37 | augroup SimpleRustFmt | ||
27 | autocmd! | 38 | autocmd! |
28 | autocmd BufWritePost *.rs | silent exec "!cargo fmt" | bufdo edit | silent! redraw | 39 | autocmd BufWritePost *.rs call RustFmtSimple() |
29 | augroup END | 40 | augroup END |