summaryrefslogtreecommitdiff
path: root/Completion/Zsh/Command/_fc
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Zsh/Command/_fc')
-rw-r--r--Completion/Zsh/Command/_fc48
1 files changed, 24 insertions, 24 deletions
diff --git a/Completion/Zsh/Command/_fc b/Completion/Zsh/Command/_fc
index c2987211e..68456cc3d 100644
--- a/Completion/Zsh/Command/_fc
+++ b/Completion/Zsh/Command/_fc
@@ -1,7 +1,7 @@
#compdef fc history r
local curcontext="$curcontext" state state_descr line ret=1
-local list events num cmd
+local events num cmd sep
typeset -A opt_args
local fc_common fc_hist fc_r
@@ -12,8 +12,10 @@ words=( "${(@)words[1,CURRENT-1]:#*=*}" "${(@)words[CURRENT,-1]}" )
fc_common=(
-s -S
- '(-A -R -W -I -p -P)-r[reverse order of the commands]'
- '(-A -R -W -I -e -p -P)-n[suppress line numbers]'
+ '(-A -R -W -p -P)-I[include internal (new) events only]'
+ '(-A -R -W -p -P)-L[include local events only]'
+ '(-A -R -W -p -P)-r[reverse order of the events]'
+ '(-A -R -W -e -p -P)-n[suppress line numbers]'
)
if [[ -n ${words[(r)-[pa](|[ap])]} ]]; then
@@ -32,20 +34,20 @@ else
fi
fc_hist=(
- '(-A -R -W -I -a -p -P 2)-m[treat argument as a pattern]'
- '(-A -R -W -I -e -f -E -i -t -a -p -P)-d[print time-stamps]'
- '(-A -R -W -I -e -d -E -i -t -a -p -P)-f[mm/dd/yyyy format time-stamps]'
- '(-A -R -W -I -e -d -f -i -t -a -p -P)-E[dd.mm.yyyy format time-stamps]'
- '(-A -R -W -I -e -d -f -E -t -a -p -P)-i[yyyy-mm-dd format time-stamps]'
- '(-A -R -W -I -e -d -f -E -i -a -p -P)-t[print time-stamps in specified format]:date format'
- '(-A -R -W -I -e -a -p -P)-D[print elapsed times]'
+ '(-A -R -W -a -p -P 2)-m[treat argument as a pattern]'
+ '(-A -R -W -e -f -E -i -t -a -p -P)-d[print time-stamps]'
+ '(-A -R -W -e -d -E -i -t -a -p -P)-f[mm/dd/yyyy format time-stamps]'
+ '(-A -R -W -e -d -f -i -t -a -p -P)-E[dd.mm.yyyy format time-stamps]'
+ '(-A -R -W -e -d -f -E -t -a -p -P)-i[yyyy-mm-dd format time-stamps]'
+ '(-A -R -W -e -d -f -E -i -a -p -P)-t[print time-stamps in specified format]:date format'
+ '(-A -R -W -e -a -p -P)-D[print elapsed times]'
'(-A -R -W -I -e -d -f -i -l -m -n -r -D -E -t -P)-a[with -p, automatically pop history on function return]'
'(-A -R -W -I -e -d -f -i -l -m -n -r -D -E -t -P)-p[push current history to stack]'
'(- *)-P[pop history from stack]'
)
-fc_r='(-A -R -W -I -e)-l[list resulting commands on stdout]'
+fc_r='(-A -R -W -e)-l[list resulting commands on stdout]'
case $service in
history)
@@ -56,31 +58,29 @@ case $service in
;;
*)
_arguments "$fc_common[@]" "$fc_hist[@]" "$fc_r" \
- '(-A -R -W -I -a -l -n -d -f -E -i -r -t -D -p -P)-e+[specify editor to invoke]:editor to invoke:_command_names -e' \
- '(-a -l -m -e -r -n -d -f -t -E -i -R -D -A -W -p -P *)-'{\
+ '(-A -R -W -a -l -n -d -f -E -i -r -t -D -p -P)-e+[specify editor to invoke]:editor to invoke:_command_names -e' \
+ '(-a -l -L -m -e -r -n -d -f -t -E -i -R -D -A -W -p -P *)-'{\
'R[read history from file]',\
'A[append history to file]',\
-'W[write history to file]',\
-'I[read/write new events only]'} && ret=0
+'W[write history to file]'} && ret=0
;;
esac
if [[ -n $state ]]; then
+ zstyle -s ":completion:${curcontext}:" list-separator sep || sep=--
if [[ -z ${line:#*=*} ]] && compset -P '*='; then
_message -e replacements 'replacement'
elif [[ -prefix [0-9] ]]; then
- events=( ${(ps.\0.)"$(printf '%s:%s\0' ${(kv)history})"} )
- zformat -a list " -- " "$events[@]"
- _wanted -2V events expl "$state_descr" compadd -M "B:0=" -ld list - \
- "${events[@]%%:*}"
+ events=( ${(0)"$(printf "%-${#HISTNO}.${#HISTNO}s $sep %s\0" "${(kv)history[@]}")"} )
+ _wanted -2V events expl "$state_descr" compadd -M "B:0=" -ld events - \
+ "${events[@]%% *}"
elif [[ -prefix - ]]; then
- for num cmd in ${(kv)history}; do
+ for num cmd in "${(kv@)history}"; do
(( num=num - HISTNO ))
- events+=( $num:$cmd )
+ events+=( "${(r.1+$#HISTNO.)num} $sep $cmd" )
done
- zformat -a list " -- " "$events[@]"
- _wanted -2V events expl "$state_descr" compadd -ld list - \
- "${events[@]%%:*}"
+ _wanted -2V events expl "$state_descr" compadd -ld events - \
+ "${events[@]%% *}"
else
_wanted events expl "$state_descr" compadd -S '' - \
${${history%%[=[:IFS:]]*}:#[0-9-]*} || _guard "[0-9]#" event