summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2024-08-22 19:39:22 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2024-08-22 19:39:22 +0900
commitcf2242aea30bf709282fb3c6ff8867c0593c3664 (patch)
tree2c20c9fe36483bd006f3ef5d7d71296a8684192f
parent8cb59e6fcac3dce8dfa44b678fdc94cf81efa11b (diff)
downloadfzf-cf2242aea30bf709282fb3c6ff8867c0593c3664.tar.gz
[bash] Revert skipping setting up fuzzy path completion
This partially reverts a2d0e8f not to break backward compatibility.
-rw-r--r--shell/completion.bash43
1 files changed, 21 insertions, 22 deletions
diff --git a/shell/completion.bash b/shell/completion.bash
index 38e7202f..abeb2e9a 100644
--- a/shell/completion.bash
+++ b/shell/completion.bash
@@ -496,31 +496,30 @@ __fzf_default_completion() {
fi
}
-if complete | command grep -q __fzf_default_completion; then
- : # Default completion already set up. Do nothing.
-elif ! complete | command grep -- '-D$' | command grep -qv _comp_complete_load &&
- complete -D -F __fzf_default_completion -o default -o bashdefault 2> /dev/null; then
- a_cmds=""
-else
- # We can't set up default completion,
- # 1. if it's already set up by another script
- # 2. or if the current version of bash doesn't support -D option
- #
- # NOTE: $FZF_COMPLETION_PATH_COMMANDS and $FZF_COMPLETION_VAR_COMMANDS are
- # undocumented and subject to change in the future.
- a_cmds="${FZF_COMPLETION_PATH_COMMANDS-"
- awk bat cat code diff diff3
- emacs emacsclient ex file ftp g++ gcc gvim head hg hx java
- javac ld less more mvim nvim patch perl python ruby
- sed sftp sort source tail tee uniq vi view vim wc xdg-open
- basename bunzip2 bzip2 chmod chown curl cp dirname du
- find git grep gunzip gzip hg jar
- ln ls mv open rm rsync scp
- svn tar unzip zip"}"
-fi
+# Set fuzzy path completion as the default completion for all commands.
+# We can't set up default completion,
+# 1. if it's already set up by another script
+# 2. or if the current version of bash doesn't support -D option
+complete | command grep -q __fzf_default_completion ||
+ complete | command grep -- '-D$' | command grep -qv _comp_complete_load ||
+ complete -D -F __fzf_default_completion -o default -o bashdefault 2> /dev/null
d_cmds="${FZF_COMPLETION_DIR_COMMANDS-cd pushd rmdir}"
+# NOTE: $FZF_COMPLETION_PATH_COMMANDS and $FZF_COMPLETION_VAR_COMMANDS are
+# undocumented and subject to change in the future.
+#
+# NOTE: Although we have default completion, we still need to set up completion
+# for each command in case they already have completion set up by another script.
+a_cmds="${FZF_COMPLETION_PATH_COMMANDS-"
+ awk bat cat code diff diff3
+ emacs emacsclient ex file ftp g++ gcc gvim head hg hx java
+ javac ld less more mvim nvim patch perl python ruby
+ sed sftp sort source tail tee uniq vi view vim wc xdg-open
+ basename bunzip2 bzip2 chmod chown curl cp dirname du
+ find git grep gunzip gzip hg jar
+ ln ls mv open rm rsync scp
+ svn tar unzip zip"}"
v_cmds="${FZF_COMPLETION_VAR_COMMANDS-export unset printenv}"
# Preserve existing completion