summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--Completion/Unix/Command/_ed38
2 files changed, 42 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 4c8ff2f41..074a7f4b5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2018-06-15 Matthew Martin <phy1729@gmail.com>
+
+ * 42981: Completion/Unix/Command/_ed: Add ed completer
+
2018-06-15 Peter Stephenson <p.stephenson@samsung.com>
* users/23472: Doc/Zsh/mod_system.yo, Src/Modules/system.c,
diff --git a/Completion/Unix/Command/_ed b/Completion/Unix/Command/_ed
new file mode 100644
index 000000000..50d2710fc
--- /dev/null
+++ b/Completion/Unix/Command/_ed
@@ -0,0 +1,38 @@
+#compdef ed
+
+local -a args
+
+args=(
+ '(-p --prompt)'{-p+,--prompt=}'[specify prompt]:prompt:'
+ '(-s --quiet --silent)'{-s,--quiet,--silent}'[suppress diagnostics]'
+)
+
+if _pick_variant gnu=GNU unix --version; then
+ args+=(
+ '(-G --traditional)'{-G,--traditional}'[run in compatibility mode]'
+ '(- :)'{-h,--help}'[display help]'
+ '(-l --loose-exit-status)'{-l,--loose-exit-status}'[exit 0 even if a command fails]'
+ '(-r --restricted)'{-r,--restricted}'[run in restricted mode]'
+ '(- :)'{-V,--version}'[display version]'
+ '(-v --verbose)'{-v,--verbose}'[be verbose]'
+ )
+else
+ args=(-A '-*' ${args:#*\)--*})
+ case $OSTYPE in
+ dragonfly*|freebsd*|netbsd*|solaris*)
+ args+=(
+ '-x[prompt for an encryption key]'
+ )
+ ;|
+ netbsd*)
+ args+=(
+ '-E[enable extended regular expressions]'
+ '-S[disable ! command]'
+ )
+ ;;
+ esac
+fi
+
+_arguments -s -S \
+ $args \
+ ':file:_files'