@@ -18,6 +18,10 @@ if exists(':CompilerSet') != 2
1818 command -nargs =* CompilerSet setlocal <args>
1919endif
2020
21+ let s: escaped_bin = substitute (b: ledger_bin , ' ' , ' \\ ' , ' g' )
22+ let s: escaped_main = substitute (shellescape (expand (b: ledger_main )), ' ' , ' \\ ' , ' g' )
23+ let s: escaped_extra = substitute (b: ledger_extra_options , ' ' , ' \\ ' , ' g' )
24+
2125if ! b: ledger_is_hledger
2226 " Capture Ledger errors (%-C ignores all lines between "While parsing..." and "Error:..."):
2327 CompilerSet errorformat = % EWhile\ parsing\ file \ \" % f \" \\ ,\ line \ % l: ,% ZError:\ % m ,%- C% .% #
@@ -26,15 +30,15 @@ if !b:ledger_is_hledger
2630 " Skip all other lines:
2731 CompilerSet errorformat += %- G% .% #
2832 exe ' CompilerSet makeprg='
29- \. substitute ( b: ledger_bin , ' ' , ' \\ ' , ' g ' )
30- \. ' \ -f\ ' .substitute ( shellescape ( expand ( b: ledger_main )), ' ' , ' \\ ' , ' g ' )
31- \. ' \ ' .substitute ( b: ledger_extra_options , ' ' , ' \\ ' , ' g ' )
32- \. ' \ source\ ' .substitute ( shellescape ( expand ( b: ledger_main )), ' ' , ' \\ ' , ' g ' )
33+ \. s: escaped_bin
34+ \. ' \ -f\ ' .s: escaped_main
35+ \. ' \ ' .s: escaped_extra
36+ \. ' \ source\ ' .s: escaped_main
3337else
3438 exe ' CompilerSet makeprg='
35- \. substitute ( b: ledger_bin , ' ' , ' \\ ' , ' g ' )
36- \. ' \ -f\ ' .substitute ( shellescape ( expand ( b: ledger_main )), ' ' , ' \\ ' , ' g ' )
37- \. ' \ check\ ' .substitute ( b: ledger_extra_options , ' ' , ' \\ ' , ' g ' )
39+ \. s: escaped_bin
40+ \. ' \ -f\ ' .s: escaped_main
41+ \. ' \ check\ ' .s: escaped_extra
3842 CompilerSet errorformat = hledger:\ % trror:\ % f :% l: % c :
3943 CompilerSet errorformat += hledger:\ % trror:\ % f :% l:
4044 CompilerSet errorformat += hledger:\ % trror:\ % f :% l -% .% #:
0 commit comments