Version 0.1.1 - Added very simple support for plugins.
[mx3r.git] / cmdline.cli
blob9ac3425ad56d6d4b925700bbd4bd44c0a64d6498
1 ## Interface Description File for CLIG - command line interface generator
2 ## author: Harald Kirsch (kirschh@lionbioscience.com)
3 ## Adapted for autoproject by Jim Van Zandt <jrv@vanzandt.mv.com>
5 ## The Name specified is only used in/for the manual page
6 Name mx3r
8 ## Usage specifies a one-liner which is printed as part of
9 ## usage-message. It is also used in the NAME-section of the manual
10 ## page as a short description.
11 Usage {merges files looking for similar patterns, and allows several plugins
12 for understanding the syntax of several files }
14 ## The Version specified is printed as part of the usage-message.
15 Version {0.1.1}
17 ## Commandline specifies the name of a slot in the generated struct
18 ## which will be set to a newly allocated string holding the
19 ## concatenated command line. This is particularly useful for programs
20 ## which want to record their calling sequence somewhere, e.g. in a in
21 ## output file to document how it was generated.
22 Commandline tool
24 ## These options were selected when autoproject was run.
25 ## More options can be added at any time (see clig(1) and examples below).
26 String --blr do_blrmerge {<base-filename> <local-filename> <remote-filename>
27 Try a full (base->local to remote) merge} {count = 3,3}
28 String --hashcmp do_hashcmp {<line1> <line2> ... <lineN>
29 Do a hash compare between 4 or more lines.} {count = 4,oo}
30 Flag --test-plugin test_plugin {try to load the split-lines plugin}
31 Flag --help show_help {show usage information}
33 ########################################################################
34 ## EXAMPLE OF FLAG OPTION
36 ## Flag options are rather trivial. They do not have any parameters.
37 #Flag -v verbose {switch on verbose program operation}
39 ########################################################################
40 ## EXAMPLES OF STRING OPTIONS
42 ## String options can have one or more parameters. By default they
43 ## have exactly one parameter.
44 #String -title title {title of x/y-plot}
46 ## To let them have exactly two parameters, use the following
47 #String -xytitles xytitles {title of x- and y-axis} \
48 #    {count = 2,2}
50 ## To impose no upper limit on the number of parameters, use oo,
51 ## i.e. double-`o'
52 #String -plotnames plotnames {names of curves to plot} \
53 #    {count = 1,oo}
55 ## An option you really need should be made mandatory. (I'm not sure
56 ## whether it can be called an `option' then?)
57 #String -colors colors {colors to use in plots} \
58 #    mandatory \
59 #    {count = 1,5}
61 ## Non-mandatory options can have default values
62 #String -bg background {background color} \
63 #    {default = red}
65 ########################################################################
66 ## EXAMPLES OF FLOAT OPTIONS
68 ## The simplest Float-option has a default-count of 1, is not
69 ## mandatory, imposes no limit on the parameter and has no default
70 #Float -o offset {offset to add to all curves to plot}
72 ## Float-option parameters can be forced to lie in a given range
73 #Float -p p {probability}  {range = 0,1}
75 ## `count', `mandatory' and `default' work as for String-options
76 #Float -f f {frequencies} \
77 #    {count = 2, 10} \
78 #    {range = 0, 47.11 } \
79 #    {default = 2 4 8 16.11}
81 ## special values for range-specs are -oo and oo denoting minus
82 ## infinity and infinity
83 #Float -negscale negscale {negative scale value}     {range = -oo, 0.0}
85 #Float -scale scale {scale value}     {range = 0.0, oo}
87 ########################################################################
88 ## EXAMPLES OF INT OPTIONS
90 ## Int-options work like Float options.
91 #Int -a a {flog quarx flirim poli gam i nabgala} \
92 #    mandatory
94 #Int -b b {ram dibum gabalabarum deri pum pam} \
95 #    {count = 3,4} \
96 #    {range = -10, 10} \
97 #    {default = -1 0 1}
99 ########################################################################
100 ## EXAMPLES OF REST COMMAND
102 ## The Rest-command specifies what may be found on the command line
103 ## after all options have extracted their parameters. The Rest-command
104 ## has a default `count' of 1,oo, but here we set it to 1,10.
105 #Rest infiles {list of input files} \
106 #    {count = 1,10}