Zsh completion arguments: Difference between revisions
From wikinotes
Line 5: | Line 5: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
_arguments \ | _arguments \ | ||
{-h,--help}'[show help]' \ # | {-h,--help}'[show help]' \ | ||
'-o[output file]:::_files # | # param: -h/--help | ||
# desc: show help | |||
# value: (no value) | |||
'-o[output file]:::_files \ | |||
# param: -o | |||
# desc: output file | |||
# value: complete any file | |||
</syntaxhighlight> | </syntaxhighlight> | ||
</blockquote><!-- Flag Arguments --> | </blockquote><!-- Flag Arguments --> |
Revision as of 21:28, 24 July 2021
Arguments Params
Flag Arguments
_arguments \ {-h,--help}'[show help]' \ # param: -h/--help # desc: show help # value: (no value) '-o[output file]:::_files \ # param: -o # desc: output file # value: complete any filePositional Arguments
_arguments \ '1:user:_users' \ # 1st positional arg (required) '2:priority:(low med high)' \ # 2nd positional arg (required) (complete to low/med/high) '3::group:_groups' \ # 3nd positional arg (optional)Value for last defined Param
:${message}:${action} # reqd completion for prev command ::${message}:${action} # optional completion for prev command_arguments \ {-h,--help}'[show help]' \ '*::extra:(foo bar baz)' \ # any extra parameters, (complete to (foo bar baz)) ':value:(foo bar baz)' # after prev param (extra), always complete one of these wordsRest Arguments
Any arguments not consumed earlier use this completer.
*:${message}:${action} # *::${message}:${action} # *:::${message}:${action} #State Setting/Parsing
The
-C
argument enables state-setting.
This lets you determine the parser that gets used based on the state you set.local state # scope state locally _arguments -C \ '*:extra:->my-state' # sets `$state='my-state'` case $state in (my-state) _arguments '1:foo:(one two three four)' ;; esac