about summary refs log tree commit diff
path: root/Completion/Unix/Command/_fold
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix/Command/_fold')
-rw-r--r--Completion/Unix/Command/_fold24
1 files changed, 24 insertions, 0 deletions
diff --git a/Completion/Unix/Command/_fold b/Completion/Unix/Command/_fold
new file mode 100644
index 000000000..1a3ef8b55
--- /dev/null
+++ b/Completion/Unix/Command/_fold
@@ -0,0 +1,24 @@
+#compdef fold gfold
+
+local variant
+local -a args
+
+_pick_variant -r variant busybox=BusyBox gnu='Free Soft' unix --version
+
+args=(
+  '(-b --bytes)'{-b,--bytes}'[count bytes rather than columns]'
+  '(: -)--help[display help information]'
+  '(-s --spaces)'{-s,--spaces}'[fold on whitespace]'
+  '(-w --width)'{-w+,--width=}'[specify line width]:line width (columns or bytes)'
+  '(: -)--version[display version information]'
+  '*: :_files'
+)
+
+# Non-GNU variants don't support long options (except BusyBox's --help)
+if [[ $variant == *busybox* ]]; then # See also: _busybox
+  args=( ${args:#((#s)|*\))(\*|)--^help*} )
+elif [[ $variant != gnu ]]; then
+  args=( ${args:#((#s)|*\))(\*|)--*} )
+fi
+
+_arguments -s -S : $args