zsh-workers
 help / color / mirror / code / Atom feed
* Re: zsh completion for sisu
@ 2006-08-21 12:22 ralph.amissah
  0 siblings, 0 replies; 2+ messages in thread
From: ralph.amissah @ 2006-08-21 12:22 UTC (permalink / raw)
  To: zsh-workers, Clint Adams

Clint thanks for the feedback,

So far this is a simplification of what was done previously, (hopefully
taking in some of your feedback) that seems to work. It is still naive.

I have not yet taken in the construct:

> # is possible to use the -e option of the zstyle builtin command to
> #specify conditions for the use of particular tags. For example:
> zstyle -e '*:-command-:*' tag-order '
>     if [[ -n $PREFIX$SUFFIX ]]; then
>       reply=( )
>     else
>       reply=( - )
>     fi'

which will probably help limit matches for specific tags, such as:

>>I have not even figured out yet how to restrict options to particular
>>commands - for example the options --create --recreate --drop --import
>>--update are only relevant where the -D or -d flag is uses (which can in
>>turn be accompanied by a -v verbose flag)... but as said earlier, it is
>>already helpful and better than nothing.

there is no big rush, as said what currently exists is better than
nothing.

I likewise Cc: zsh-workers who are indeed welcome to jump in.
File appended, thanks,
Ralph Amissah

#######
#compdef sisu
# Copyright (C) 2006 Ralph Amissah
# sisu, version 0.46.1
# same license as Zsh or SiSU
local curcontext="$curcontext" state line ret=1
typeset -A opt_args
_arguments -s -C -M 'r:|[_-]=* r:|=*' \
  '(--convert --to -C)-U[prints to screen url output map of available output possibilities]' \
  '(--convert --to -C)-u[url mapping of output files for requested processing flags]' \
  '(--convert --to -C)-V[more verbose than -v]' \
  '(--convert --to -C)-v[verbose]' \
  '--no-ocn[-\[hHp\]switches off object citation numbering]' \
  '--no-annotate[-\[mhHpoxXabN\] strips output text of additional editors endnotes]' \
  '(--convert --to -C)-A[plaintext with dos line-feeds, footnotes follow paragraphs in which they occur]' \
  '(--convert --to -C)-a[plaintext with Unix line-feeds, footnotes follow paragraphs in which they occur]' \
  '(--convert --to -C)-b[XHTML output]' \
  '(- *)-C[initialise site]' \
  '(--convert --to -C)-c[toggle screen color on or off depending on set default]' \
  '(--convert --to -C)-E[plaintext with dos line-feeds, endnotes following main text]' \
  '(--convert --to -C)-e[plaintext with Unix line-feeds, endnotes following main text]' \
  '(--convert --to -C)-F[generate sample cgi web search form \[--webserv=webrick for sisu webrick url\]]' \
  '(--convert --to -C -h)-H[HTML output, without link suffixes]' \
  '(--convert --to -C -H)-h[HTML output]' \
  '(--convert --to -C)-I[texinfo output, not maintained]' \
  '(--convert --to -C)-L[print license info]' \
  '(--convert --to -C)-M[maintenance mode, retain intermediate processing files]' \
  '(--convert --to -C)-m[create intermediate markup file, metaverse, assumed for most output instuctions]' \
  '(--convert --to -C)-N[document content certificate, output document digests]' \
  '(--convert --to -C)-n[skip intermediate markup, skip -m]' \
  '(--convert --to -C)-o[Open Document text format output]' \
  '(--convert --to -C)-p[LaTeX pdf output]' \
  '(--convert --to -C)-q[quiet mode]' \
  '(--convert --to -C)-R[post output to remote host using rsync, requires pre-configuration]' \
  '(--convert --to -C)-r[post output to remote host using scp, requires pre-configuration]' \
  '(--convert --to -C)-S[produces and shares tarred gzipped markup source document with associated images etc.]' \
  '(--convert --to -C)-s[shares markup source]' \
  '(--convert --to -C)-t[termsheet, preprocessing]' \
  '(- *)-W[starts ruby webrick server]' \
  '(--convert --to -C)-w[concordance file]' \
  '(--convert --to -C)-X[XML dom style]' \
  '(--convert --to -C)-x[XML sax style]' \
  '(--convert --to -C)-y[output summary page, manifest of existing generated output]' \
  '(--convert --to -C)-Z[Zap delete/destroy output]' \
  '--import[-\[Dd\] imports document to database]' \
  '--update[-\[Dd\] updates document in database]' \
  '--remove[-\[Dd\] removes document from database]' \
  '--dropall[-\[Dd\] drops database, tables, indexes, all!]' \
  '--create[-\[Dd\] creates new database - tables, indexes, etc.]' \
  '--recreate[-\[Dd\] drops database, killing data and creates new empty database - tables, indexes, etc.]' \
  '(--convert --to -C)-D[postgresql database instruction]' \
  '(--convert --to -C)-d[sqlite database instruction]' \
  '(- *)--help[display help information]' \
  '(--convert --to -C -2 -3 -4 -5)-1[shortcut, initial default -mNHwpy]' \
  '(--convert --to -C -1 -3 -4 -5)-2[shortcut, initial default -mNHwpaoy]' \
  '(--convert --to -C -1 -2 -4 -5)-3[shortcut, initial default -mNHwpaobxXy]' \
  '(--convert --to -C -1 -2 -3 -5)-4[shortcut, initial default -mNHwpaobxXDy --import]' \
  '(--convert --to -C -1 -2 -3 -4)-5[shortcut, initial default -mNHwpaobxXDy --update]' \
  '--to=node[XML node based input representation, experimental]' \
  '--to=sax[XML sax based input representation, experimental]' \
  '--to=dom[XML dom based input representation, experimental]' \
  '--convert=footnotes[embedded footnotes]' \
  '--to=current[current markup]' \
  '*:SiSU files:_files -g "*.(sst|ssm)(.)"'

-- 
email: ralph.amissah@gmail.com
SiSU:  http://www.jus.uio.no/sisu


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: zsh completion for sisu
       [not found] <20060819114356.GA14042@amissah.com>
@ 2006-08-21  3:51 ` Clint Adams
  0 siblings, 0 replies; 2+ messages in thread
From: Clint Adams @ 2006-08-21  3:51 UTC (permalink / raw)
  To: ralph.amissah; +Cc: zsh-workers

[Cc:ing zsh-workers so others can jump in here]

> #compdef sisu
> # Copyright (C) 2006 Ralph Amissah
> # sisu, version 0.46.1
> # same license as Zsh or SiSU

In the following lines, you are unconditionally setting zstyles
globally.  This is inadvisable as it will override user settings
and interfere with other completion functions.  If you need to set
them, you should probably only set the zstyles for something like
':completion:*:complete:sisu:*', and only if the user hasn't set them.
Without knowing anything about how sisu command-line arguments work,
I'd assume that you don't really need to set these.

> zstyle ':completion:*' tag-order \
>  'options:-long:long\ options
>   options:-short:short\ options
>   options:-single-letter:single\ letter\ options'
> zstyle ':completion:*:options-long' ignored-patterns '[-+](|-|[^-]*)'
> zstyle ':completion:*:options-short' ignored-patterns '--*' '[-+]?'
> zstyle ':completion:*:options-single-letter' ignored-patterns '???*'
> #
> zstyle ':completion:*' completer _complete _correct
> ## matcher
> ##Another use of patterns is to try multiple match specifications one after another
> zstyle ':completion:*:*:foo:*' tag-order '*' '*:-case'
> zstyle ':completion:*-case' matcher 'm:{a-z}={A-Z}'

For example, you may want to use the -M option to _arguments instead.

> # is possible to use the -e option of the zstyle builtin command to specify conditions for the use of particular tags. For example:
> zstyle -e '*:-command-:*' tag-order '
>     if [[ -n $PREFIX$SUFFIX ]]; then
>       reply=( )
>     else
>       reply=( - )
>     fi'
> 
> local curcontext="$curcontext" state line ret=1
> typeset -A opt_args
> _arguments -s -C \
>   '--no-ocn[-\[hHp\]switches off object citation numbering]' \
>   '--no-annotate[-\[mhHpoxXabN\] strips output text of additional editors endnotes]' \
>   '(--convert --to -C)-A[plaintext with dos line-feeds, footnotes follow paragraphs in which they occur]' \
>   '(--convert --to -C)-a[plaintext with Unix line-feeds, footnotes follow paragraphs in which they occur]' \
>   '(--convert --to -C)-b[XHTML output]' \
>   '(- *)-C[initialise site]' \
>   '(--convert --to -C)-c[toggle screen color on or off depending on set default]' \
>   '(--convert --to -C)-D[postgresql database instruction]' \
>   '(--convert --to -C)-d[sqlite database instruction]' \
>   '(--convert --to -C)-E[plaintext with dos line-feeds, endnotes following main text]' \
>   '(--convert --to -C)-e[plaintext with Unix line-feeds, endnotes following main text]' \
>   '(--convert --to -C)-F[generate sample cgi web search form \[--webserv=webrick for sisu webrick url\]]' \
>   '(--convert --to -C -h)-H[HTML output, without link suffixes]' \
>   '(--convert --to -C -H)-h[HTML output]' \
>   '(--convert --to -C)-I[texinfo output, not maintained]' \
>   '(--convert --to -C)-L[print license info]' \
>   '(--convert --to -C)-M[maintenance mode, retain intermediate processing files]' \
>   '(--convert --to -C)-m[create intermediate markup file, metaverse, assumed for most output instuctions]' \
>   '(--convert --to -C)-N[document content certificate, output document digests]' \
>   '(--convert --to -C)-n[skip intermediate markup, skip -m]' \
>   '(--convert --to -C)-o[Open Document text format output]' \
>   '(--convert --to -C)-p[LaTeX pdf output]' \
>   '(--convert --to -C)-q[quiet mode]' \
>   '(--convert --to -C)-R[post output to remote host using rsync, requires pre-configuration]' \
>   '(--convert --to -C)-r[post output to remote host using scp, requires pre-configuration]' \
>   '(--convert --to -C)-S[produces and shares tarred gzipped markup source document with associated images etc.]' \
>   '(--convert --to -C)-s[shares markup source]' \
>   '(--convert --to -C)-t[termsheet, preprocessing]' \
>   '(--convert --to -C)-U[prints to screen url output map of available output possibilities]' \
>   '(--convert --to -C)-u[url mapping of output files for requested processing flags]' \
>   '(--convert --to -C)-V[more verbose than -v]' \
>   '(--convert --to -C)-v[verbose]' \
>   '(- *)-W[starts ruby webrick server]' \
>   '(--convert --to -C)-w[concordance file]' \
>   '(--convert --to -C)-X[XML dom style]' \
>   '(--convert --to -C)-x[XML sax style]' \
>   '(--convert --to -C)-y[output summary page, manifest of existing generated output]' \
>   '(--convert --to -C)-Z[Zap delete/destroy output]' \
>   '(--convert --to -C -2 -3 -4 -5)-1[shortcut, initial default -mNHwpy]' \
>   '(--convert --to -C -1 -3 -4 -5)-2[shortcut, initial default -mNHwpaoy]' \
>   '(--convert --to -C -1 -2 -4 -5)-3[shortcut, initial default -mNHwpaobxXy]' \
>   '(--convert --to -C -1 -2 -3 -5)-4[shortcut, initial default -mNHwpaobxXDy --import]' \
>   '(--convert --to -C -1 -2 -3 -4)-5[shortcut, initial default -mNHwpaobxXDy --update]' \
>   '--to=node[XML node based input representation, experimental]' \
>   '--to=sax[XML sax based input representation, experimental]' \
>   '--to=dom[XML dom based input representation, experimental]' \
>   '--convert=footnotes[embedded footnotes]' \
>   '--to=current[current markup]' \
>   '--import[-\[Dd\] imports document to database]' \
>   '--update[-\[Dd\] updates document in database]' \
>   '--remove[-\[Dd\] removes document from database]' \
>   '--dropall[-\[Dd\] drops database, tables, indexes, all!]' \
>   '--create[-\[Dd\] creates new database - tables, indexes, etc.]' \
>   '--recreate[-\[Dd\] drops database, killing data and creates new empty database - tables, indexes, etc.]' \
>   '(- *)--help[display help information]'
> 
> _files -g '*.(sst|ssm)(.)'

Probably you want to tack the _files onto the _arguments call, like this
  '(- *)--help[display help information]' \
  ':SiSU files:_files -g "*.(sst|ssm)"'

or

  '(- *)--help[display help information]' \
  '*:SiSU files:_files -g "*.(sst|ssm)"'

> #'--no-asterisk[-\[mhHpoxXabN\] strips output of editors asterisk endnotes]' \
> #'--no-dagger[-\[mhHpoxXabN\] strips output of editors dagger endnotes]' \
> 
> #'--no-asterisk[-\[mhHpoxXabN\] strips output of editors asterisk endnotes]' \
> #'--no-dagger[-\[mhHpoxXabN\] strips output of editors dagger endnotes]' \


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-08-21 12:28 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-08-21 12:22 zsh completion for sisu ralph.amissah
     [not found] <20060819114356.GA14042@amissah.com>
2006-08-21  3:51 ` Clint Adams

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).