summaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2024-04-27 14:11:08 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2024-04-27 14:14:30 +0900
commit7f85beccb5b6a86fd81db66876db835f9deb4e6e (patch)
tree284a4cc75df8301603420629fd774ec0ef517b01 /shell
parent767f1255ab3247398d6f1d20180904c7f6e2d566 (diff)
downloadfzf-7f85beccb5b6a86fd81db66876db835f9deb4e6e.tar.gz
[completion] Add undocumented bash variables for completion commands
And allow empty FZF_COMPLETION_DIR_COMMANDS
Diffstat (limited to 'shell')
-rw-r--r--shell/completion.bash11
-rw-r--r--shell/completion.zsh2
2 files changed, 8 insertions, 5 deletions
diff --git a/shell/completion.bash b/shell/completion.bash
index 08637677..43fa46af 100644
--- a/shell/completion.bash
+++ b/shell/completion.bash
@@ -463,8 +463,11 @@ complete -o default -F _fzf_opts_completion fzf
# fzf-tmux specific options (like `-w WIDTH`) are left as a future patch.
complete -o default -F _fzf_opts_completion fzf-tmux
-d_cmds="${FZF_COMPLETION_DIR_COMMANDS:-cd pushd rmdir}"
-a_cmds="
+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.
+a_cmds="${FZF_COMPLETION_PATH_COMMANDS-"
awk bat cat diff diff3
emacs emacsclient ex file ftp g++ gcc gvim head hg hx java
javac ld less more mvim nvim patch perl python ruby
@@ -472,8 +475,8 @@ a_cmds="
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="export unset printenv"
+ svn tar unzip zip"}"
+v_cmds="${FZF_COMPLETION_VAR_COMMANDS-export unset printenv}"
# Preserve existing completion
__fzf_orig_completion < <(complete -p $d_cmds $a_cmds $v_cmds unalias kill ssh 2> /dev/null)
diff --git a/shell/completion.zsh b/shell/completion.zsh
index 99cec29c..ddf5f4bb 100644
--- a/shell/completion.zsh
+++ b/shell/completion.zsh
@@ -327,7 +327,7 @@ fzf-completion() {
# Trigger sequence given
if [ ${#tokens} -gt 1 -a "$tail" = "$trigger" ]; then
- d_cmds=(${=FZF_COMPLETION_DIR_COMMANDS:-cd pushd rmdir})
+ d_cmds=(${=FZF_COMPLETION_DIR_COMMANDS-cd pushd rmdir})
[ -z "$trigger" ] && prefix=${tokens[-1]} || prefix=${tokens[-1]:0:-${#trigger}}
if [[ $prefix = *'$('* ]] || [[ $prefix = *'<('* ]] || [[ $prefix = *'>('* ]] || [[ $prefix = *':='* ]] || [[ $prefix = *'`'* ]]; then