summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Completion/Zsh/Command/_print29
1 files changed, 29 insertions, 0 deletions
diff --git a/Completion/Zsh/Command/_print b/Completion/Zsh/Command/_print
new file mode 100644
index 000000000..76b39f613
--- /dev/null
+++ b/Completion/Zsh/Command/_print
@@ -0,0 +1,29 @@
+#compdef print
+
+local state expl line eflag pflag
+
+# -e flag available only after -R 
+eflag="${words[1,CURRENT-1][(r)-*R*]:+-e[enable escapes]}"
+
+# -p flag only relevant if we have a coprocess
+(:>&p) 2>/dev/null &&
+  pflag='(-s -u -z)-p[print arguments to input of coprocess]'
+
+_arguments -C -s -A "-*" -S \
+  '-r[ignore escape conventions of echo]' \
+  '(-r -b -m -s -l -N -o -O -i -c -u -p -z -D -P)-R[emulate BSD echo (no escapes, -n & -e flags only)]' \
+  '-b[recognise bindkey escape sequences]' \
+  '-m[remove arguments matching specified pattern]' \
+  '(-u -p -z)-s[place results in the history list]' \
+  '(-N -c)-n[do not add a newline to the result]' \
+  '(-N -c)-l[print arguments separated by newlines]' \
+  '(-n -l -c)-N[print arguments separated and terminated by nulls]' \
+  '(-O)-o[sort arguments in ascending order]' \
+  '(-o)-O[sort arguments in descending order]' \
+  '-i[case-insensitive sorting]' \
+  '(-n -l -N)-c[print arguments in columns]' \
+  '(-s -p -z)-u+[specify file-descriptor to print arguments to]:file-descriptor:_file_descriptors' \
+  '(-s -p -u)-z[push arguments onto editing buffer stack]' \
+  '-D[substitute any arguments which are named directories using ~ notation]' \
+  '-P[perform prompt expansion]' \
+  $pflag $eflag '*:default:_default'