Fix bind error messages appearing in non-interactive windows #186
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fixes #183, which is a resulting bug from #180. (Note that the offending commit is not authored by me.)
Explanation of the issue
#180 makes
$_fzf_search_vars_command
unavailable for non-interactive sessions. However,fzf_configure_bindings
depends on that variable being available. If the user putsfzf_configure_bindings
in theirconfig.fish
,fzf_configure_bindings
gets executed in non-interactive sessions e.g. fzf preview windows or by tide, and the following line in the function...fzf.fish/functions/fzf_configure_bindings.fish
Line 33 in 17d54b5
...essentially becomes:
which results in error message like
bind --preset \cv fish_clipboard_paste
orbind: No binding found for sequence '\cv'
.Solution
Don't execute the entirety of
fzf_configure_bindings
if not in interactive mode. And for good measure, quote_fzf_search_vars_command
so that even if it does get executed, the bind command will run successfully.