|keyword||Required and must be the same as the key for the hash. The official name of the keyword. The user must type this to use the keyword (or get a tool to do it for her).|
|label||Required for tentmaker. The name tentmaker shows its users for this keyword. Traditionally, this is just the keyword beautified so the label for keyword contact_us is Contact Us.|
|descr||tentmaker shows this next to the input box for the keyword. Feel free to use a bit of html in the value for descr. For instance, when providing examples, surround them with pre tags.|
|sort_order||tentmaker uses this to order the statements within their category. A simple numeric sort is done on these values.|
|multiple||Indicates that the keyword can accept a list of values (or pairs of them if its type is pair). This only applies to types text, pair, and select. The others ignore it. See below for information about types.|
|repeatable||Indicates that the statement can be repeated. Currently only data statements may be repeated to any useful effect. To contrast, multiple means that the single statement can take many values in a comma separated list, while repeatable means that the keyword itself may be used many times each timw with one or more values. Again, only data statements are repeatble.|
You probably want to use this key if your keywords type is pair.
A two element array reference with the labels to display over the two
input columns of keywords whose type is pair. Example:
Required for keywords of type pair.
Use this key for all pair keywords. Make it true if a pair is always required for the keyword and false if items may have only the first half of a pair (like author pairs where the name is in the hash key position and the optional email address is in the value position).
Look for keywords of type pair for examples.
An array reference of hashes describing the options for the keyword. Use
this only for keywords of type select. Example:
If you dont want a default, you should include a hash like this:
Only applies to field keywords. Indicates that this keyword should appear
in the Field Quick Edit box in tentmaker. Fields appear there in
the same order they appear in the full edit expanding box. That order
is controlled by the sort_order (see below).
Quick editing does not allow pairs or multiples. You can set a quick_label for a multiple entry keyword, but the quick edit will only update the first one. If the user changes the one in the quick edit, only that one will be preserved. Pairs will not work in the quick edit box.
Unused and ignored.
Indicates how useful the keyword is. Most have urgency 0, they show
up white on the screen. tentmaker currently understands these urgency values:
Note that only values from the above list are understood by tentmaker. If you use other values, they will be treated as zero.
|method_types||This tells tentmaker which method types understand a keyword. It is a hash. They key are individual method types. The values are 1. There is one special key all. If it has a true value, then the keyword is available to all methods regardless of type.|
|field_type||Not yet used. Meant to tell tentmaker that a field keyword only applies to a certain html_form_type.|
Essentially the tentmaker html form element for the keyword.
Note that literal keywords do not need to set this key (and if they do,
it will be ignored). They always get a textarea for their input.
For other keyword levels choose from these input types (in order by
There are several levels in the parse tree where keywords may appear. These are the levels:
There are no other valid keyword locations in the current grammar. Adding new levels will require substantial change to the grammar, the parser, and all the backends. Thus, such changes are extremely unlikely (though some are in the back of my mind).
config Keywords in the bigtop level config block (where the backends are defined). app Keywords at the top level of the bigtop app block. app_literal The legal names of literal statements at the bigtop app block level. table Keywords at the top level of table blocks. field Keywords in field blocks (inside table blocks). controller Keywords at the top level of controller blocks. controller_literal The legal names of literal statements at the controller block level. method Keywords in method blocks (inside controller blocks).
There is only one method defined in this module. Use it as shown in the SYNOPSIS above.
keyword_level list of keywords
an array whose first element is the keyword_level and whose remaining elements are keyword hashes. This return is designed for direct passing to the add_valid_keywords method of Bigtop::Parser
get_full_doc_hash Parameters: none
Returns: the entire internal hash representation of all the keywords. This is useful for automated tools, like scripts/vimsyntax that builds the vim syntax file.
Phil Crow <email@example.com>
Copyright (C) 2006-7 by Phil Crow
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.6 or, at your option, any later version of Perl 5 you may have available.
|perl v5.20.3||BIGTOP::KEYWORDS (3)||2016-04-03|