diff options
Diffstat (limited to 'Completion/X/_x_arguments')
-rw-r--r-- | Completion/X/_x_arguments | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/Completion/X/_x_arguments b/Completion/X/_x_arguments index 396a39ea2..b820b50b0 100644 --- a/Completion/X/_x_arguments +++ b/Completion/X/_x_arguments @@ -1,11 +1,20 @@ #compdef -P */X11/* -local ret +local ret long xargs -_arguments \ - '-display:display:_x_display' \ - '-geometry:geometry:_x_geometry' \ - "$@" +xargs=( + '-display:display:_x_display' + '-geometry:geometry:_x_geometry' +) + +long=$argv[(I)--] +if (( long )); then + argv[long]=( "$xargs[@]" -- ) +else + set -- "$@" "$xargs[@]" +fi + +_arguments "$@" ret=$? |