aboutsummaryrefslogtreecommitdiffhomepage
path: root/share/completions/sed.fish
diff options
context:
space:
mode:
Diffstat (limited to 'share/completions/sed.fish')
-rw-r--r--share/completions/sed.fish38
1 files changed, 38 insertions, 0 deletions
diff --git a/share/completions/sed.fish b/share/completions/sed.fish
new file mode 100644
index 00000000..d32d9c26
--- /dev/null
+++ b/share/completions/sed.fish
@@ -0,0 +1,38 @@
+#
+# Completions for sed
+#
+
+# Test if we are using GNU sed
+
+set -l is_gnu
+sed --version >/dev/null ^/dev/null; and set is_gnu --is-gnu
+
+# Shared ls switches
+
+__fish_gnu_complete -c sed -s n -l quiet -d (_ "Silent mode") $is_gnu
+__fish_gnu_complete -c sed -s e -l expression -x -d (_ "Evaluate expression") $is_gnu
+__fish_gnu_complete -c sed -s f -l file -r -d (_ "Evalute file") $is_gnu
+__fish_gnu_complete -c sed -s i -l in-place -d (_ "Edit files in place") $is_gnu
+
+if test -n "$is_gnu"
+
+ # GNU specific features
+
+ complete -c sed -l silent -d (_ "Silent mode")
+ complete -c sed -s l -l line-length -x -d (_ "Specify line-length")
+ complete -c sed -l posix -d (_ "Disable all GNU extensions")
+ complete -c sed -s r -l regexp-extended -d (_ "Use extended regexp")
+ complete -c sed -s s -l separate -d (_ "Consider files as separate")
+ complete -c sed -s u -l unbuffered -d (_ "Use minimal IO buffers")
+ complete -c sed -l help -d (_ "Display help and exit")
+ complete -c sed -s V -l version -d (_ "Display version and exit")
+
+else
+
+ # If not a GNU system, assume we have standard BSD ls features instead
+
+ complete -c sed -s E -d (_ "Use extended regexp")
+ complete -c sed -s a -d (_ "Delay opening files until a command containing the related 'w' function is applied")
+ complete -c sed -s l -d (_ "Use line buffering")
+
+end