mirror of
https://github.com/junegunn/fzf.git
synced 2025-11-17 15:53: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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user