Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: [patch] _ed completer



On Fri, May 04, 2018 at 03:00:51PM +0200, Oliver Kiddle wrote:
> Matthew Martin wrote:
> >
> > +++ b/Completion/Unix/Command/_ed
> > +  '(--prompt)'{-p,--prompt}'[specify prompt]:prompt: '
> 
> --prompt can exclude a following -p option and it is valid to have the
> prompt immediately after -p or to have --prompt=. So, I think this line
> can be:
>   '(-p --prompt)'{-p+,--prompt=}'[specify prompt]:prompt'
> 
> > +  case $OSTYPE in
> > +    dragonfly*|freebsd*|netbsd*)
> 
>  |solaris*
> 
> > +_arguments -s -S -A '-*' \
> 
> The -A '-*' option is not applicable to the GNU variant. It's fairly
> common that GNU stuff allows options after normal arguments while
> traditional Unix stuff doesn't.

Thanks for the review and apologies for the long wait. Amended patch
below.


diff --git a/Completion/Unix/Command/_ed b/Completion/Unix/Command/_ed
new file mode 100644
index 000000000..cb206f492
--- /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'



Messages sorted by: Reverse Date, Date, Thread, Author