summaryrefslogtreecommitdiff
path: root/shell/completion.bash
diff options
context:
space:
mode:
authorChristoph Anton Mitterer <mail@christoph.anton.mitterer.name>2023-10-08 18:19:28 +0200
committerGitHub <noreply@github.com>2023-10-09 01:19:28 +0900
commitf103aa4753b435f8f45c5130323effeb75583c15 (patch)
tree05804d2efd4548cd5da28bbcfa8474a30fe11798 /shell/completion.bash
parent884856023ab53fa1eb7f8dbf158aa522daef0ae5 (diff)
downloadfzf-f103aa4753b435f8f45c5130323effeb75583c15.tar.gz
Improve interactiveness checks (#3449)
* [bash] return instead of not executing an if-block, when non-interactive This should keep the code more readable, be less error prone (accidentally doing something outside the if-block and aligns the code with what’s already done for zsh. `0` is returned, because it shall not be considered an error when the script is (accidentally) sourced from a non-interactive shell. If executed as a script (rather than sourced), the results are not specified by POSIX but depend on the shell, with bash giving an error in that case. Signed-off-by: Christoph Anton Mitterer <mail@christoph.anton.mitterer.name> * [shell] exit immediately when called from non-interactive shell The shell execution environment shouldn’t be modified at all, when called from a non-interactive shell. It shall be noted that the current check may become error prone for bash, namely in case there should ever be a differentiation between `i` and `I` in the special variable `-` and bash’s `nocasematch`-shell-option be used. Signed-off-by: Christoph Anton Mitterer <mail@christoph.anton.mitterer.name>
Diffstat (limited to 'shell/completion.bash')
-rw-r--r--shell/completion.bash5
1 files changed, 2 insertions, 3 deletions
diff --git a/shell/completion.bash b/shell/completion.bash
index fb0b6c83..463d7764 100644
--- a/shell/completion.bash
+++ b/shell/completion.bash
@@ -9,7 +9,8 @@
# - $FZF_COMPLETION_TRIGGER (default: '**')
# - $FZF_COMPLETION_OPTS (default: empty)
-if [[ $- =~ i ]]; then
+[[ $- =~ i ]] || return 0
+
# To use custom commands instead of find, override _fzf_compgen_{path,dir}
if ! declare -F _fzf_compgen_path > /dev/null; then
@@ -401,5 +402,3 @@ _fzf_setup_completion 'var' export unset printenv
_fzf_setup_completion 'alias' unalias
_fzf_setup_completion 'host' telnet
_fzf_setup_completion 'proc' kill
-
-fi