summaryrefslogtreecommitdiff
path: root/shell/completion.zsh
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2015-05-09 21:04:16 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2015-05-09 21:04:59 +0900
commitdc64568c83d23c7f53322aa7e619aa099a94dfc7 (patch)
treee98a6de846a0344f42094163f3fb4053909d67e0 /shell/completion.zsh
parentf4a595eeddd0a95d1b9cca83c90391ff7de30250 (diff)
downloadfzf-dc64568c83d23c7f53322aa7e619aa099a94dfc7.tar.gz
[zsh-completion] Completion for unknown commands
Diffstat (limited to 'shell/completion.zsh')
-rw-r--r--shell/completion.zsh24
1 files changed, 3 insertions, 21 deletions
diff --git a/shell/completion.zsh b/shell/completion.zsh
index 56636c4f..9537cc1b 100644
--- a/shell/completion.zsh
+++ b/shell/completion.zsh
@@ -47,12 +47,6 @@ _fzf_all_completion() {
"-m" "" " "
}
-_fzf_file_completion() {
- _fzf_path_completion "$1" "$2" \
- "-name .git -prune -o -name .svn -prune -o -type f -print -o -type l -print" \
- "-m" "" " "
-}
-
_fzf_dir_completion() {
_fzf_path_completion "$1" "$2" \
"-name .git -prune -o -name .svn -prune -o -type d -print" \
@@ -99,7 +93,7 @@ EOF
}
fzf-zsh-completion() {
- local tokens cmd prefix trigger tail fzf matches lbuf d_cmds f_cmds a_cmds
+ local tokens cmd prefix trigger tail fzf matches lbuf d_cmds
# http://zsh.sourceforge.net/FAQ/zshfaq03.html
tokens=(${=LBUFFER})
@@ -115,25 +109,11 @@ fzf-zsh-completion() {
tail=${LBUFFER:$(( ${#LBUFFER} - ${#trigger} ))}
if [ ${#tokens} -gt 1 -a $tail = $trigger ]; then
d_cmds=(cd pushd rmdir)
- f_cmds=(
- awk cat diff diff3
- emacs ex file ftp g++ gcc gvim head hg java
- javac ld less more mvim patch perl python ruby
- sed sftp sort source tail tee uniq vi view vim wc)
- 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)
prefix=${tokens[-1]:0:-${#trigger}}
lbuf=${LBUFFER:0:-${#tokens[-1]}}
if [ ${d_cmds[(i)$cmd]} -le ${#d_cmds} ]; then
_fzf_dir_completion "$prefix" $lbuf
- elif [ ${f_cmds[(i)$cmd]} -le ${#f_cmds} ]; then
- _fzf_file_completion "$prefix" $lbuf
- elif [ ${a_cmds[(i)$cmd]} -le ${#a_cmds} ]; then
- _fzf_all_completion "$prefix" $lbuf
elif [ $cmd = telnet ]; then
_fzf_telnet_completion "$prefix" $lbuf
elif [ $cmd = ssh ]; then
@@ -142,6 +122,8 @@ fzf-zsh-completion() {
_fzf_env_var_completion "$prefix" $lbuf
elif [ $cmd = unalias ]; then
_fzf_alias_completion "$prefix" $lbuf
+ else
+ _fzf_all_completion "$prefix" $lbuf
fi
# Kill completion (do not require trigger sequence)
elif [ $cmd = kill -a ${LBUFFER[-1]} = ' ' ]; then