commit 7c90e77a7c63c32958d3a7433bf29362de4ff8bf
parent d30d91f3a49e19e61473b74e42adf68e9215220d
Author: zeertzjq <zeertzjq@outlook.com>
Date: Tue, 27 Jan 2026 07:10:51 +0800
vim-patch:ad0dd7c: runtime(rustfmt): Recover accidentally deleted code, don't hide rustfmt error
closes: vim/vim#19251
https://github.com/vim/vim/commit/ad0dd7cd1ef405086e8266f8f62221a307a72fe9
Co-authored-by: Arkissa <mrarkssac@gmail.com>
Diffstat:
2 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/runtime/autoload/rustfmt.vim b/runtime/autoload/rustfmt.vim
@@ -1,7 +1,8 @@
" Author: Stephen Sugden <stephen@stephensugden.com>
" Last Modified: 2023-09-11
" Last Change:
-" 2025 Oct 27 by Vim project don't use rustfmt as 'formatprg' by default
+" 2025 Oct 27 by Vim project: don't use rustfmt as 'formatprg' by default
+" 2026 Jan 25 by Vim project: don't hide rustfmt errors, restore default var
"
"
" Adapted from https://github.com/fatih/vim-go
@@ -69,6 +70,12 @@ function! s:RustfmtWriteMode()
endfunction
function! s:RustfmtConfigOptions()
+ let default = '--edition 2018'
+
+ if !get(g:, 'rustfmt_find_toml', 0)
+ return default
+ endif
+
let l:rustfmt_toml = findfile('rustfmt.toml', expand('%:p:h') . ';')
if l:rustfmt_toml !=# ''
return '--config-path '.shellescape(fnamemodify(l:rustfmt_toml, ":p"))
@@ -199,7 +206,7 @@ function! s:RunRustfmt(command, tmpname, from_writepre)
echo "rust.vim: was not able to parse rustfmt messages. Here is the raw output:"
echo "\n"
for l:line in l:stderr
- echo l:line
+ echomsg l:line
endfor
endif
@@ -218,7 +225,10 @@ function! s:RunRustfmt(command, tmpname, from_writepre)
" Open lwindow after we have changed back to the previous directory
if l:open_lwindow == 1
+ try
lwindow
+ catch /^Vim\%((\S\+)\)\=:E776:/
+ endtry
endif
call winrestview(l:view)
diff --git a/runtime/doc/ft_rust.txt b/runtime/doc/ft_rust.txt
@@ -166,6 +166,12 @@ g:rustfmt_detect_version ~
Disabled by default for performance reasons >vim
let g:rustfmt_detect_version = 1
<
+ *g:rustfmt_find_toml*
+g:rustfmt_find_toml ~
+ When set to 1, will try to find `rustfmt.toml` file by searching from
+ current path upwards. Disabled by default for performance reasons >vim
+ let g:rustfmt_find_toml = 1
+<
*g:rust_playpen_url*
g:rust_playpen_url ~
Set this option to override the url for the playpen to use: >vim