Skip to content

Commit a2d76c4

Browse files
committed
Fix completion of stash@\{<Tab>
References #1396
1 parent fd029d8 commit a2d76c4

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

autoload/fugitive.vim

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1400,10 +1400,11 @@ call s:add_methods('buffer', ['repo', 'type'])
14001400

14011401
function! s:FilterEscape(items, ...) abort
14021402
let items = copy(a:items)
1403+
call map(items, 's:fnameescape(v:val)')
14031404
if a:0 && type(a:1) == type('')
14041405
call filter(items, 'strpart(v:val, 0, strlen(a:1)) ==# a:1')
14051406
endif
1406-
return map(items, 's:fnameescape(v:val)')
1407+
return items
14071408
endfunction
14081409

14091410
function! s:GlobComplete(lead, pattern) abort
@@ -1469,16 +1470,15 @@ function! fugitive#CompleteObject(base, ...) abort
14691470
let results = []
14701471
if a:base =~# '^refs/'
14711472
let results += map(s:GlobComplete(fugitive#CommonDir(dir) . '/', a:base . '*'), 's:Slash(v:val)')
1473+
call map(results, 's:fnameescape(v:val)')
14721474
elseif a:base !~# '^\.\=/\|^:('
14731475
let heads = s:CompleteHeads(dir)
14741476
if filereadable(fugitive#Find('.git/refs/stash', dir))
14751477
let heads += ["stash"]
14761478
let heads += sort(s:LinesError(["stash","list","--pretty=format:%gd"], dir)[0])
14771479
endif
1478-
call filter(heads,'v:val[ 0 : strlen(a:base)-1 ] ==# a:base')
1479-
let results += heads
1480+
let results += s:FilterEscape(heads, a:base)
14801481
endif
1481-
call map(results, 's:fnameescape(v:val)')
14821482
if !empty(tree)
14831483
let results += a:0 == 1 ? fugitive#CompletePath(a:base, dir) : fugitive#CompletePath(a:base)
14841484
endif

0 commit comments

Comments
 (0)