mirror of
https://github.com/zsh-users/zsh
synced 2024-07-08 19:55:44 +00:00
19019: only complete aliases of the appropriate type for the alias builtin
This commit is contained in:
parent
8e359a669e
commit
4284171e9e
|
@ -1,11 +1,12 @@
|
|||
#compdef alias
|
||||
|
||||
local curcontext="$curcontext" state line suf
|
||||
local curcontext="$curcontext" state line type suf
|
||||
typeset -A opt_args
|
||||
|
||||
_arguments -C -s -A "-*" -S \
|
||||
'-+g[list or define global aliases]' \
|
||||
'-+r[list or define regular aliases]' \
|
||||
'-+s[list or define suffix aliases]' \
|
||||
'(-r +r -s +s)-+g[list or define global aliases]' \
|
||||
'(-g +g -s +s)-+r[list or define regular aliases]' \
|
||||
'(-r +r -g +g)-+s[list or define suffix aliases]' \
|
||||
'-+m[print aliases matching specified pattern]' \
|
||||
'-L[print each alias in the form of calls to alias]' \
|
||||
'*::alias definition:->defn'
|
||||
|
@ -16,6 +17,8 @@ if [[ -n "$state" ]]; then
|
|||
_normal
|
||||
else
|
||||
compset -S '=*' || suf='='
|
||||
_wanted alias expl 'alias definition' _aliases -S "$suf"
|
||||
type=( ${opt_args[(i)[-+][grs]]#?} )
|
||||
(( $#type )) && type=( -s $type )
|
||||
_wanted -x alias expl 'alias definition' _aliases -S "$suf" "$type[@]"
|
||||
fi
|
||||
fi
|
||||
|
|
|
@ -3,11 +3,12 @@
|
|||
local expl state line curcontext="$curcontext"
|
||||
|
||||
_arguments -C -s -S \
|
||||
'(-a -f *)-d[remove named directories]:*:named directory:->nameddir' \
|
||||
'(-d -f *)-a[remove aliases]:*:aliases:_aliases' \
|
||||
'(-d -a *)-f[remove functions]:*:functions:_functions' \
|
||||
'(-a -f -s *)-d[remove named directories]:*:named directory:->nameddir' \
|
||||
'(-d -f -s *)-a[remove aliases]:*:alias:_aliases' \
|
||||
'(-a -d -f *)-s[remove suffix aliases]:*:suffix alias:_aliases -s s' \
|
||||
'(-d -a -s *)-f[remove functions]:*:function:_functions' \
|
||||
'-m[treat arguments as patterns]' \
|
||||
'(-a -d -f -m)*:commands: _command_names -e' && return 0
|
||||
'(-a -d -f -m)*:command: _command_names -e' && return 0
|
||||
|
||||
[[ "$state" = nameddir ]] &&
|
||||
_wanted named-directories expl 'named directory' compadd -k nameddirs
|
||||
|
|
Loading…
Reference in New Issue
Block a user