mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-10-01 07:31:20 +02:00
61 lines
1.5 KiB
Text
61 lines
1.5 KiB
Text
#autoload
|
|
|
|
# How to convert XrmOptionDescRec:
|
|
|
|
# XrmOptionDescRec optionDescList[] = {
|
|
# ...
|
|
# {option, specifier, argKind, value},
|
|
# ...
|
|
# };
|
|
|
|
# argKind argument for _xt_arguments
|
|
# XrmoptionNoArg option
|
|
# XrmoptionIsArg option
|
|
# XrmoptionStickyArg option-:message:action
|
|
# XrmoptionSepArg option:message:action
|
|
# XrmoptionResArg option:message:_x_resource
|
|
# XrmoptionSkipArg option:message:action
|
|
# XrmoptionSkipLine option:*::message:action
|
|
# XrmoptionSkipNArgs option:message[1]:action[1]:...:message[value]:action[value]
|
|
|
|
# cf. XrmParseCommand(3X11), X11R6.4/xc/lib/Xt/Initialize.c, X(5)
|
|
|
|
local ret long xargs
|
|
|
|
xargs=(
|
|
-+{rv,synchronous}
|
|
-{reverse,iconic}
|
|
'-background:background color:_x_color'
|
|
'-bd:border color:_x_color'
|
|
'-bg:background color:_x_color'
|
|
'-bordercolor:border color:_x_color'
|
|
'-borderwidth:border width:_x_borderwidth'
|
|
'-bw:border width:_x_borderwidth'
|
|
'-display:display:_x_display'
|
|
'-fg:foreground color:_x_color'
|
|
'-font:font:_x_font'
|
|
'-fn:font:_x_font'
|
|
'-foreground:foreground color:_x_color'
|
|
'-geometry:geometry:_x_geometry'
|
|
'-name:name:_x_name'
|
|
'-selectionTimeout:selection timeout (milliseconds):_x_selection_timeout'
|
|
'-title:title:_x_title'
|
|
'-xnllanguage:locale:_x_locale'
|
|
'-xrm:resource:_x_resource'
|
|
'-xtsessionID:session ID:_xt_session_id'
|
|
)
|
|
|
|
long=$argv[(I)--]
|
|
if (( long )); then
|
|
argv[long]=( "$xargs[@]" -- )
|
|
else
|
|
set -- "$@" "$xargs[@]"
|
|
fi
|
|
|
|
_arguments "$@"
|
|
|
|
ret=$?
|
|
|
|
[[ "$ret" = 300 ]] && compstate[restore]=''
|
|
|
|
return ret
|