summaryrefslogtreecommitdiff
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..46c3eb475
--- /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,--expresssion=}'[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[@]"