about summary refs log tree commit diff
path: root/Completion/Unix
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix')
-rw-r--r--Completion/Unix/Command/_perl63
-rw-r--r--Completion/Unix/Command/_vux63
2 files changed, 126 insertions, 0 deletions
diff --git a/Completion/Unix/Command/_perl b/Completion/Unix/Command/_perl
new file mode 100644
index 000000000..05b386d11
--- /dev/null
+++ b/Completion/Unix/Command/_perl
@@ -0,0 +1,63 @@
+#compdef perl
+#
+# zsh completion code for the Perl interpreter
+# Adam Spiers <adam@spiers.net>
+#
+
+_perl () {
+  _arguments -s \
+    '-0-:input record separator in octal (\0, if no argument): ' \
+    '-a[autosplit mode with -n or -p (splits $_ into @F)]' \
+    "-c[check syntax only (runs BEGIN and END blocks)]" \
+    '-d[run scripts under debugger]' \
+    '-d\:-[run under control of a debugging/tracing module]:debugging/tracing module:_perl_modules' \
+    '-D-:set debugging flags (argument is a bit mask or flags): ' \
+    "*-e+:one line of script. Several -e's allowed. Omit [programfile]." \
+    "-F-:split() pattern for autosplit (-a). The //'s are optional.: " \
+    '-h[list help summary]' \
+    '-i-[edit <> files in place (make backup if extension supplied)]:backup file extension: ' \
+    '*-I-[specify @INC/#include directory (may be used more than once)]:include path:_files -/' \
+    '-l-[enable line ending processing, specifies line terminator]:output record separator in octal: ' \
+    \*{-m,-M}"-[module.. executes \`use/no module...' before executing your script]:module:_perl_m_opt" \
+    "-n[assume 'while (<>) { ... }' loop around your script]" \
+    "-p[assume loop like -n but print line also like sed]" \
+    "-P[run script through C preprocessor before compilation]" \
+    "-s[enable some switch parsing for switches after script name]" \
+    "-S[look for the script using PATH environment variable]" \
+    "-T[turn on tainted checks]" \
+    "-u[dump core after parsing script]" \
+    "-U[allow unsafe operations]" \
+    "-v[print version number, patchlevel plus VERY IMPORTANT perl info]" \
+    "-V-[print perl configuration information]:configuration keys:_perl_config_vars" \
+    '-w[turn warnings on for compilation of your script. Recommended]' \
+    '-x-[strip off text before #!perl line and perhaps cd to directory]:directory to cd to:_files -/' \
+    '1:Perl script:_files -/ -g "*.(p[ml]|PL)(-.)"' \
+    '*::args: _normal' 
+}
+
+_perl_m_opt () {
+  compset -P '-'
+
+  if compset -P '*='; then
+    _message -e module-arguments 'module arguments, comma separated'
+  else
+    _perl_modules -S= -q
+  fi
+}
+
+_perl_config_vars () {
+  if (( ! $+_perl_config_vars )); then
+    _perl_config_vars=( $(perl -MConfig -e 'print join("\n", keys %Config);') )
+  fi
+
+  local add_colon='-P:'
+  compset -P '*:' && add_colon=''
+
+  local delimiter='\ '
+  (( compstate[quoting] )) && delimiter=' '
+
+  compset -P '* ' && compset -q
+  compadd "$expl[@]" $add_colon -S$delimiter -q -a _perl_config_vars
+}
+
+_perl "$@"
diff --git a/Completion/Unix/Command/_vux b/Completion/Unix/Command/_vux
new file mode 100644
index 000000000..1ed56dca6
--- /dev/null
+++ b/Completion/Unix/Command/_vux
@@ -0,0 +1,63 @@
+#compdef vux vuxctl
+
+local expl
+
+case "$service" in
+  (vux)
+
+    _arguments -s -C \
+      '-x:action:((play\:play\ music generate\:generate\ new\ scorelist
+	           merge\:merge\ new\ songs
+		   weed\:prune\ songs\ from\ scorelist
+		   ratings\:show\ statistics force\:force-rate))' \
+      '-s:file:_files' \
+      '-a:file:_files' \
+      '-z:file:_files' \
+      '-y:file:_files' \
+      '-p:file:_files' \
+      '-w:ratings:(b t)' \
+      '-W:repeats:(a c)' \
+      '-G:age bypass method:(t s n)' \
+      '-e:pattern' \
+      '-O:device:_files' \
+      '-M:minimum age val' \
+      '-S[disable saving scorelist]' \
+      '-A[disable saving agelist]' \
+      '-Z[disable saving countlist]' \
+      '-Y[disable missing log]' \
+      '-c[disable rating check]' \
+      '-d[disable rating updates on play]' \
+      '-l[disable rating updates on skip]' \
+      '-j[disable repeat check]' \
+      '-b[disable repeat updates on play]' \
+      '-k[disable repeat updates on skip]' \
+      '-n[disable player]' \
+      '-t:percent' \
+      '-T:percent' \
+      '-C:factor' \
+      '-D:factor' \
+      '-I:factor' \
+      '-U:rating' \
+      '-X:score' \
+      '-N:count' \
+      '-f:rating' \
+      '-J[accelerate decreases]' \
+      '-K[accelerate increases]' \
+      '-u[check age before rating]' \
+      '-R[show ratings after processing]' \
+      '-V[verbose file manipulation]' \
+      '-v[show version and exit]' \
+      '-F[skip songs with -n and -xf]' \
+      '-q[minimize vux output]' \
+      '-P[always play new songs]' \
+      '-g[print stats in xgraph format]' \
+      '-h[show summary of options]'
+  ;;
+
+  (vuxctl)
+
+    _wanted vuxcmd expl 'vux control command' \
+      compadd start clean double half up down next previous forward \
+	      replay pause resume stop reload save history help
+  ;;
+esac