about summary refs log tree commit diff
path: root/Completion/Unix/Command/_sed
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix/Command/_sed')
-rw-r--r--Completion/Unix/Command/_sed27
1 files changed, 27 insertions, 0 deletions
diff --git a/Completion/Unix/Command/_sed b/Completion/Unix/Command/_sed
new file mode 100644
index 000000000..0175364d9
--- /dev/null
+++ b/Completion/Unix/Command/_sed
@@ -0,0 +1,27 @@
+#compdef sed
+
+local args
+
+args=(
+  '(-n --quiet --silent)'{-n,--quiet,--silent}'[suppress automatic printing of pattern space]'
+  '(1)*'{-e,--expression=-}'[add sed commands to run]:sed script'
+  '(1)*'{-f,--file=-}'[add contents of file to commands to run]:file:_files'
+  '(-e)1: :_guard "^-*" sed script'
+  ':input file:_files'
+)
+
+if _pick_variant gnu=GNU unix --version; then
+  args+=(
+    '(-i --in-place)'{-i-,--in-place=-}'[edit files in place]::suffix for backup'
+    '(-l --line-length)'{-l,--line-length=-}'[specify line-wrap length for the l command]'
+    '(-r --regexp-extended)'{-r,--regexp-extended}'[use extended regular expressions]'
+    '(-s --separate)'{-s,--separate}'[consider files separately instead of as a combined stream]'
+    '(-u --unbuffered)'{-u,--unbuffered}'[disable data buffering]'
+    '(- 1 :)--help[print program usage]'
+    '(- 1 :)'{-V,--version}'[print program version]'
+  )
+else
+  args=( "${(@)args:#(|\(*\))(|\*)--*}" )
+fi
+
+_arguments "$args[@]"