Adjust encapsulation of escaped completion handling

Most calls to s:FilterEscape() pass the original escaped argument, so
we should fix the callers that don't.
This commit is contained in:
Tim Pope
2021-10-11 00:32:08 -04:00
parent 69f5fcbd45
commit e38d029500

View File

@@ -2288,9 +2288,8 @@ function! s:FilterEscape(items, ...) abort
let items = copy(a:items)
call map(items, 's:fnameescape(v:val)')
if a:0 && type(a:1) == type('')
let match = fnameescape(a:1)
let cmp = s:FileIgnoreCase(1) ? '==?' : '==#'
call filter(items, 'strpart(v:val, 0, strlen(match)) ' . cmp . ' match')
call filter(items, 'strpart(v:val, 0, strlen(a:1)) ' . cmp . ' a:1')
endif
return items
endfunction
@@ -2384,7 +2383,7 @@ function! fugitive#CompleteObject(base, ...) abort
let heads += ["stash"]
let heads += sort(s:LinesError(["stash","list","--pretty=format:%gd"], dir)[0])
endif
let results += s:FilterEscape(heads, base)
let results += s:FilterEscape(heads, fnameescape(base))
endif
let results += a:0 == 1 || a:0 >= 3 ? fugitive#CompletePath(base, 0, '', dir, a:0 >= 4 ? a:4 : tree) : fugitive#CompletePath(base)
return results
@@ -2406,7 +2405,7 @@ function! fugitive#CompleteObject(base, ...) abort
call map(entries,'s:sub(v:val,"^04.*\\zs$","/")')
call map(entries,'parent.s:sub(v:val,".*\t","")')
endif
return s:FilterEscape(entries, base)
return s:FilterEscape(entries, fnameescape(base))
endfunction
function! s:CompleteSub(subcommand, A, L, P, ...) abort