about summary refs log tree commit diff
path: root/Completion/Unix/Command/_getopt
diff options
context:
space:
mode:
authordana <dana@dana.is>2018-01-04 11:48:02 -0600
committerOliver Kiddle <opk@zsh.org>2018-01-05 15:29:17 +0100
commitae059841b0791195fbae04bafc2acc73058b48fc (patch)
treeba2e709e60b51bd2f28f98affd40812a5cd63c75 /Completion/Unix/Command/_getopt
parent48f01128be4d943e0c65a284b36e946e93bf2d05 (diff)
downloadzsh-ae059841b0791195fbae04bafc2acc73058b48fc.tar.gz
zsh-ae059841b0791195fbae04bafc2acc73058b48fc.tar.xz
zsh-ae059841b0791195fbae04bafc2acc73058b48fc.zip
42223: new completions for sublime text and some basic Unix utilities
Diffstat (limited to 'Completion/Unix/Command/_getopt')
-rw-r--r--Completion/Unix/Command/_getopt28
1 files changed, 28 insertions, 0 deletions
diff --git a/Completion/Unix/Command/_getopt b/Completion/Unix/Command/_getopt
new file mode 100644
index 000000000..3359818b5
--- /dev/null
+++ b/Completion/Unix/Command/_getopt
@@ -0,0 +1,28 @@
+#compdef getopt ggetopt
+
+local -a args aopts
+
+# Note: BusyBox getopt is borrowed straight from util-linux, so they're
+# basically identical
+if _pick_variant busybox=BusyBox util-linux='getopt*enhanced' unix --version; then
+  args=(
+    '(-a --alternative)'{-a,--alternative}'[allow long options with single -]'
+    '(: -)'{-h,--help}'[display help information]'
+    '*'{-l+,--longoptions=}'[specify long options]:long options'
+    '(-n --name)'{-n+,--name=}'[specify program name]:program name'
+    '(1 -o --options)'{-o+,--options=}'[specify short options]:short options'
+    '(-q --quiet)'{-q,--quiet}'[suppress getopt(3) error messages]'
+    '(-Q --quiet-output)'{-Q,--quiet-output}'[suppress normal output]'
+    '(-s --shell)'{-s+,--shell=}'[specify shell quoting conventions]:shell:(bash csh tcsh sh)'
+    '(: -)'{-T,--test}'[test for enhanced getopt]'
+    '(-u --unquoted)'{-u,--unquoted}'[do not quote output]'
+    '(: -)'{-V,--version}'[display version information]'
+    '(-o --options)1: :_guard "^-*" "short options"'
+    '*:argument'
+  )
+  [[ -n $POSIXLY_CORRECT ]] && aopts+=( -A '-*' )
+else
+  args=( '1:short options' '*:argument' )
+fi
+
+_arguments -s -S $aopts : $args