Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Bumped version number of the changed packages. Started on help. First, excluded imported parameters from help. |
---|---|
Timelines: | family | ancestors | descendants | both | global-options |
Files: | files | file ages | folders |
SHA1: |
9a37e9fadeaae2f1164c04ee84029d17 |
User & Date: | andreask 2014-08-26 00:11:34.039 |
Context
2014-08-26
| ||
19:45 | Updated help generation to show global options in categorized help. General update to handle officers now appearing in the help structures. Bumped version numbers. All parts done. Notes removed. Closed-Leaf check-in: f853a46223 user: andreask tags: global-options | |
00:11 | Bumped version number of the changed packages. Started on help. First, excluded imported parameters from help. check-in: 9a37e9fade user: andreask tags: global-options | |
2014-08-25
| ||
23:08 | Merge fixes from trunk. check-in: 7d15626394 user: andreask tags: global-options | |
Changes
Changes to NOTES.
︙ | ︙ | |||
12 13 14 15 16 17 18 | ** This is done by importing them into the cmdr::config of the sub-ordinate at the time it is processing its own specification. ** This means that sub-ordinates _cannot_ specify their own options with the same name. | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | ** This is done by importing them into the cmdr::config of the sub-ordinate at the time it is processing its own specification. ** This means that sub-ordinates _cannot_ specify their own options with the same name. ** An exception is the generation of help, where the options of the officer are only seen by the officer itself, and none of the sub-ordinates. This will unclutter the individual commands which otherwise would show all the .use'd options. ** The import also means that the backend code can access these option parameters directly, without having to walk up in the command tree. There is no need to extend officers with accessor commands. (2) Processing ** (a) Setup of officers and privates imports the parameters of their direct superior officer. As that officer in turn imported from their own superior all global options automatically spread down the entire tree. ** (b) Cmdline processing in officers is extended to check for options and handle them if known, or throw an error if not. (3) Help ** (a) Imported parameters of an officer or private are excluded from the generated help. TODO (b) The help structure is extended so that officers can declare the options they understand. |
Changes to config.tcl.
︙ | ︙ | |||
188 189 190 191 192 193 194 195 196 197 198 199 200 201 | # # Option aliases are listed in options, but not in parameters. set options {} set optpara {} dict for {o para} $myoption { # in interactive mode undocumented options can be shown in # the help if they already have a value defined for them. if {![$para documented] && (($mode ne "interact") || ![$para set?])} continue # in interactive mode we skip all the aliases. | > > > > > | 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 | # # Option aliases are listed in options, but not in parameters. set options {} set optpara {} dict for {o para} $myoption { # Ignore options imported from the parent. # These are documented where defined. if {[$para config] ne [self]} continue # in interactive mode undocumented options can be shown in # the help if they already have a value defined for them. if {![$para documented] && (($mode ne "interact") || ![$para set?])} continue # in interactive mode we skip all the aliases. |
︙ | ︙ | |||
217 218 219 220 221 222 223 224 225 226 227 228 229 230 | # not just bits and pieces. set states {} set parameters {} foreach p [lsort -dict $mynames] { set para [dict get $mymap $p] dict set parameters $p [$para help] if {![$para is state]} continue lappend states $p } return [dict create \ | > > > > > | 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 | # not just bits and pieces. set states {} set parameters {} foreach p [lsort -dict $mynames] { set para [dict get $mymap $p] # Ignore all parameters imported from the parent. # These are documented where defined. if {[$para config] ne [self]} continue dict set parameters $p [$para help] if {![$para is state]} continue lappend states $p } return [dict create \ |
︙ | ︙ | |||
1473 1474 1475 1476 1477 1478 1479 | } # # ## ### ##### ######## ############# } # # ## ### ##### ######## ############# ##################### ## Ready | | | 1483 1484 1485 1486 1487 1488 1489 1490 | } # # ## ### ##### ######## ############# } # # ## ### ##### ######## ############# ##################### ## Ready package provide cmdr::config 1.2 |
Changes to officer.tcl.
︙ | ︙ | |||
747 748 749 750 751 752 753 | myreplexit myhandler mypmap myshandler myconfig # # ## ### ##### ######## ############# } # # ## ### ##### ######## ############# ##################### ## Ready | | | 747 748 749 750 751 752 753 754 | myreplexit myhandler mypmap myshandler myconfig # # ## ### ##### ######## ############# } # # ## ### ##### ######## ############# ##################### ## Ready package provide cmdr::officer 1.4 |
Changes to private.tcl.
︙ | ︙ | |||
210 211 212 213 214 215 216 | variable myarguments mycmd myinit myconfig myhandler # # ## ### ##### ######## ############# } # # ## ### ##### ######## ############# ##################### ## Ready | | | 210 211 212 213 214 215 216 217 | variable myarguments mycmd myinit myconfig myhandler # # ## ### ##### ######## ############# } # # ## ### ##### ######## ############# ##################### ## Ready package provide cmdr::private 1.3 |