* PATCH: style-guide
@ 1999-09-06 11:24 Sven Wischnowsky
0 siblings, 0 replies; only message in thread
From: Sven Wischnowsky @ 1999-09-06 11:24 UTC (permalink / raw)
To: zsh-workers
Forgot to mention the funcall stuff.
Bye
Sven
--- Etc/completion-style-guide.old Mon Sep 6 13:23:16 1999
+++ Etc/completion-style-guide Mon Sep 6 13:22:50 1999
@@ -75,3 +75,24 @@
All this should make it look like a really good idea to just use the
supplied `_arguments' function to complete options.
+12) If at all possible, completion code for a command or a suite of
+ commands should go into only one file. If a command has sub-commands,
+ implementing aa state-machine might be a good idea. See the `_rpm'
+ and `_pbm' files for examples of different styles. Also see the
+ documentation for `_arguments' and `_values' for two functions
+ that may help you with this.
+13) If a completion function generates completely different types of
+ completions (for example, because the comamnd has several
+ completely different modes), it should allow users to define
+ functions that separately override the behavior for these
+ different types. This can easily be achieved by using the
+ `funcall' utility function, as in:
+
+ funcall ret _command_$subcommand && return ret
+
+ This will try to call the function `_command_$subcommand' and if
+ it exists, it will be called and the completion function exits
+ with its exit status. After this call to `funcall' the completion
+ function would contain the code for the default way to generate
+ the matches.
+ See the `_rpm' and `_nslookup' files for examples.
--
Sven Wischnowsky wischnow@informatik.hu-berlin.de
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~1999-09-06 11:24 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-09-06 11:24 PATCH: style-guide Sven Wischnowsky
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).