|
@@ -1,4 +1,4 @@
|
|
|
-# perf completion
|
|
|
+# perf bash and zsh completion
|
|
|
|
|
|
# Taken from git.git's completion script.
|
|
|
__my_reassemble_comp_words_by_ref()
|
|
@@ -129,6 +129,67 @@ __perf_main ()
|
|
|
fi
|
|
|
}
|
|
|
|
|
|
+if [[ -n ${ZSH_VERSION-} ]]; then
|
|
|
+ autoload -U +X compinit && compinit
|
|
|
+
|
|
|
+ __perfcomp ()
|
|
|
+ {
|
|
|
+ emulate -L zsh
|
|
|
+
|
|
|
+ local c IFS=$' \t\n'
|
|
|
+ local -a array
|
|
|
+
|
|
|
+ for c in ${=1}; do
|
|
|
+ case $c in
|
|
|
+ --*=*|*.) ;;
|
|
|
+ *) c="$c " ;;
|
|
|
+ esac
|
|
|
+ array[${#array[@]}+1]="$c"
|
|
|
+ done
|
|
|
+
|
|
|
+ compset -P '*[=:]'
|
|
|
+ compadd -Q -S '' -a -- array && _ret=0
|
|
|
+ }
|
|
|
+
|
|
|
+ __perfcomp_colon ()
|
|
|
+ {
|
|
|
+ emulate -L zsh
|
|
|
+
|
|
|
+ local cur_="${2-$cur}"
|
|
|
+ local c IFS=$' \t\n'
|
|
|
+ local -a array
|
|
|
+
|
|
|
+ if [[ "$cur_" == *:* ]]; then
|
|
|
+ local colon_word=${cur_%"${cur_##*:}"}
|
|
|
+ fi
|
|
|
+
|
|
|
+ for c in ${=1}; do
|
|
|
+ case $c in
|
|
|
+ --*=*|*.) ;;
|
|
|
+ *) c="$c " ;;
|
|
|
+ esac
|
|
|
+ array[$#array+1]=${c#"$colon_word"}
|
|
|
+ done
|
|
|
+
|
|
|
+ compset -P '*[=:]'
|
|
|
+ compadd -Q -S '' -a -- array && _ret=0
|
|
|
+ }
|
|
|
+
|
|
|
+ _perf ()
|
|
|
+ {
|
|
|
+ local _ret=1 cur cword prev
|
|
|
+ cur=${words[CURRENT]}
|
|
|
+ prev=${words[CURRENT-1]}
|
|
|
+ let cword=CURRENT-1
|
|
|
+ emulate ksh -c __perf_main
|
|
|
+ let _ret && _default && _ret=0
|
|
|
+ return _ret
|
|
|
+ }
|
|
|
+
|
|
|
+ compdef _perf perf
|
|
|
+ return
|
|
|
+fi
|
|
|
+
|
|
|
type perf &>/dev/null &&
|
|
|
_perf()
|
|
|
{
|