@@ -18,12 +18,13 @@ let s:plugin = maktaba#plugin#Get('codefmt')
18
18
19
19
function ! s: ClangFormatHasAtLeastVersion (minimum_version) abort
20
20
if ! exists (' s:clang_format_version' )
21
- let l: executable = s: plugin .Flag (' clang_format_executable' )
22
- if codefmt#ShouldPerformIsAvailableChecks () && ! executable (l: executable )
21
+ let l: cmd = codefmt#formatterhelpers#ResolveFlagToArray (
22
+ \ ' clang_format_executable' )
23
+ if codefmt#ShouldPerformIsAvailableChecks () && ! executable (l: cmd [0 ])
23
24
return 0
24
25
endif
25
26
26
- let l: syscall = maktaba#syscall#Create ([ l: executable , ' --version' ])
27
+ let l: syscall = maktaba#syscall#Create (l: cmd + [ ' --version' ])
27
28
" Call with throw_errors disabled because some versions of clang-format
28
29
" misbehave and return exit code 1 along with the successful version
29
30
" output (see https://github.com/google/vim-codefmt/issues/84).
@@ -104,7 +105,13 @@ function! codefmt#clangformat#GetFormatter() abort
104
105
\ ' configure the clang_format_executable flag' }
105
106
106
107
function l: formatter .IsAvailable () abort
107
- return executable (s: plugin .Flag (' clang_format_executable' ))
108
+ let l: cmd = codefmt#formatterhelpers#ResolveFlagToArray (
109
+ \ ' clang_format_executable' )
110
+ if ! empty (l: cmd ) && executable (l: cmd [0 ])
111
+ return 1
112
+ else
113
+ return 0
114
+ endif
108
115
endfunction
109
116
110
117
function l: formatter .AppliesToBuffer () abort
@@ -136,9 +143,8 @@ function! codefmt#clangformat#GetFormatter() abort
136
143
return
137
144
endif
138
145
139
- let l: cmd = [
140
- \ s: plugin .Flag (' clang_format_executable' ),
141
- \ ' -style' , l: style ]
146
+ let l: cmd = codefmt#formatterhelpers#ResolveFlagToArray (
147
+ \ ' clang_format_executable' ) + [' -style' , l: style ]
142
148
let l: fname = expand (' %:p' )
143
149
if ! empty (l: fname )
144
150
let l: cmd += [' -assume-filename' , l: fname ]
0 commit comments