m/fzf
1
0
mirror of https://github.com/junegunn/fzf.git synced 2025-11-18 00:03:39 -05:00

[bash-completion] Fix custom completion with dynamic loader enabled

After _completion_loader is called, instead of loading the entire
completion.bash file, just restore the fzf completion for the current
command. `_fzf_orig_completion_$cmd` is only set if _completion_loader
actually changed the completion options to avoid infinite loop.

Close #1170
This commit is contained in:
Junegunn Choi
2017-12-03 03:06:10 +09:00
parent 5a7b41a2cf
commit d6588fc835
2 changed files with 28 additions and 3 deletions

View File

@@ -1761,6 +1761,27 @@ class TestBash < TestBase
super
@tmux = Tmux.new :bash
end
def test_dynamic_completion_loader
tmux.paste 'touch /tmp/foo; _fzf_completion_loader=1'
tmux.paste '_completion_loader() { complete -o default fake; }'
tmux.paste 'complete -F _fzf_path_completion -o default -o bashdefault fake'
tmux.send_keys 'fake /tmp/foo**', :Tab
tmux.until do |lines|
lines.item_count.positive? && lines.item_count == lines.match_count
end
tmux.send_keys 'C-c'
tmux.prepare
tmux.send_keys 'fake /tmp/foo'
tmux.send_keys :Tab , 'C-u'
tmux.prepare
tmux.send_keys 'fake /tmp/foo**', :Tab
tmux.until do |lines|
lines.item_count.positive? && lines.item_count == lines.match_count
end
end
end
class TestZsh < TestBase