Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch vtype-testing Excluding Merge-Ins
This is equivalent to a diff from 3305575764 to 1e68d757fb
2015-07-03
| ||
05:01 | Merge VT test work back to main line. check-in: dd4c6bd2ac user: aku tags: trunk | |
05:01 | Fix issues with time::minute validation. Added testsuite. Closed-Leaf check-in: 1e68d757fb user: aku tags: vtype-testing | |
04:37 | Flipped tests for weekday and year, were swapped. check-in: 0afbe6cc28 user: aku tags: vtype-testing | |
2015-07-02
| ||
21:53 | New validation type, time as (hour:)minute offset from midnight. Closed-Leaf check-in: a2015467df user: aku tags: vt-minute | |
2015-06-26
| ||
23:24 | Simplified approach to specification of custom messages. Command variants taking it as argument. Plus variants which leave out the intro containing parameter information (name, type). check-in: 3305575764 user: andreask tags: trunk | |
2015-05-12
| ||
22:15 | config, color - Bump version numbers, due to their recent changes. check-in: 4f21251865 user: aku tags: trunk | |
Added doc/cmdr_vt_time_minute.man.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 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 | [comment {-*- tcl -*- doctools manpage}] [include parts/definitions.inc] [vset VERSION 1] [manpage_begin [vset LABEL_VT_TIME_MIN] [vset MAN_SECTION] [vset VERSION]] [include parts/module.inc] [require try] [require clock::iso8601] [require cmdr::validate::common] [require cmdr::validate::time] [titledesc [vset TITLE_VT_TIME_MIN]] [description] [include parts/welcome.inc] [para] This package provides the validation type [cmd ::cmdr::validate::time::minute] which accepts timestamps with minute precision in ISO 8601 syntax (limited to without seconds), or as integer offset in minutes from midnight (modulo 24 hours). [para] The internal representation is the offset in minutes from midnight for the validated input. [para] The type has no input completion. [para] The details of the exported standard API can be found in [term [vset TITLE_DEV_VT]]. The chosen default is "now" to the minute. [para] A single non-standard method is provided: [list_begin definitions][comment {-- begin api definitions --}] [comment {- - -- --- ----- -------- ------------- ---------------------}] [call [cmd ::cmdr::validate::time] [method 2external] [arg epoch]] This method converts the offset in minutes from midnight of a time to the form %H:%M and returns the conversion result as its own. [comment {- - -- --- ----- -------- ------------- ---------------------}] [list_end][comment {-- end api definitions --}] [include parts/feedback.inc] [manpage_end] |
Changes to doc/parts/definitions.inc.
︙ | ︙ | |||
33 34 35 36 37 38 39 | [vset TITLE_UTIL "[vset PTITLE] - (Internal) General Utilities"] [vset TITLE_VALIDATE "[vset PTITLE] - Standard validation types for parameters"] [vset TITLE_VCOMMON "[vset PTITLE] - Utilities for Validation Types"] [vset TITLE_FLOW "[vset PTITLE] - Runtime Processing Flow"] [vset TITLE_VT_YEAR "[vset PTITLE] - Validation type for years"] [vset TITLE_VT_WEEKDAY "[vset PTITLE] - Validation type for weekday names"] | | > | 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | [vset TITLE_UTIL "[vset PTITLE] - (Internal) General Utilities"] [vset TITLE_VALIDATE "[vset PTITLE] - Standard validation types for parameters"] [vset TITLE_VCOMMON "[vset PTITLE] - Utilities for Validation Types"] [vset TITLE_FLOW "[vset PTITLE] - Runtime Processing Flow"] [vset TITLE_VT_YEAR "[vset PTITLE] - Validation type for years"] [vset TITLE_VT_WEEKDAY "[vset PTITLE] - Validation type for weekday names"] [vset TITLE_VT_TIME "[vset PTITLE] - Validation type for times (to the second)"] [vset TITLE_VT_TIME_MIN "[vset PTITLE] - Validation type for times to the minute"] [vset TITLE_VT_POSINT "[vset PTITLE] - Validation type for positive integers"] [vset TITLE_VT_DATE "[vset PTITLE] - Validation type for dates"] [comment {- Miscellanea ............. - - -- --- ----- --------}] [vset LABEL_INTRO [vset PROJECT]-introduction] [vset LABEL_LICENSE [vset PROJECT]-license] [vset LABEL_CHANGES [vset PROJECT]-changes] |
︙ | ︙ | |||
76 77 78 79 80 81 82 83 84 | [vset LABEL_VALIDATE [vset PROJECT]::validate] [vset LABEL_VCOMMON [vset PROJECT]::validate::common] [vset LABEL_FLOW [vset PROJECT]-spec-flow] [vset LABEL_VT_YEAR [vset PROJECT]::validate::year] [vset LABEL_VT_WEEKDAY [vset PROJECT]::validate::weekday] [vset LABEL_VT_TIME [vset PROJECT]::validate::time] [vset LABEL_VT_POSINT [vset PROJECT]::validate::posint] [vset LABEL_VT_DATE [vset PROJECT]::validate::date] | > | 77 78 79 80 81 82 83 84 85 86 | [vset LABEL_VALIDATE [vset PROJECT]::validate] [vset LABEL_VCOMMON [vset PROJECT]::validate::common] [vset LABEL_FLOW [vset PROJECT]-spec-flow] [vset LABEL_VT_YEAR [vset PROJECT]::validate::year] [vset LABEL_VT_WEEKDAY [vset PROJECT]::validate::weekday] [vset LABEL_VT_TIME [vset PROJECT]::validate::time] [vset LABEL_VT_TIME_MIN [vset PROJECT]::validate::time::minute] [vset LABEL_VT_POSINT [vset PROJECT]::validate::posint] [vset LABEL_VT_DATE [vset PROJECT]::validate::date] |
Changes to embedded/man/files/cmdr_vt_time.n.
︙ | ︙ | |||
269 270 271 272 273 274 275 | .. .\" # MT - "empty" string .de MT .QW "" .. .BS .SH NAME | | | 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 | .. .\" # MT - "empty" string .de MT .QW "" .. .BS .SH NAME cmdr::validate::time \- Cmdr - Validation type for times (to the second) .SH SYNOPSIS package require \fBtry \fR .sp package require \fBclock::iso8601 \fR .sp package require \fBcmdr::validate::common \fR .sp |
︙ | ︙ |
Added embedded/man/files/cmdr_vt_time_minute.n.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 | '\" '\" Generated from file 'cmdr_vt_time_minute\&.man' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2013-2015 Andreas Kupries '\" Copyright (c) 2013-2015 Documentation, Andreas Kupries '\" .TH "cmdr::validate::time::minute" n 1 doc "Cmdr, a framework for command line parsing and dispatch" .\" The -*- nroff -*- definitions below are for supplemental macros used .\" in Tcl/Tk manual entries. .\" .\" .AP type name in/out ?indent? .\" Start paragraph describing an argument to a library procedure. .\" type is type of argument (int, etc.), in/out is either "in", "out", .\" or "in/out" to describe whether procedure reads or modifies arg, .\" and indent is equivalent to second arg of .IP (shouldn't ever be .\" needed; use .AS below instead) .\" .\" .AS ?type? ?name? .\" Give maximum sizes of arguments for setting tab stops. Type and .\" name are examples of largest possible arguments that will be passed .\" to .AP later. If args are omitted, default tab stops are used. .\" .\" .BS .\" Start box enclosure. From here until next .BE, everything will be .\" enclosed in one large box. .\" .\" .BE .\" End of box enclosure. .\" .\" .CS .\" Begin code excerpt. .\" .\" .CE .\" End code excerpt. .\" .\" .VS ?version? ?br? .\" Begin vertical sidebar, for use in marking newly-changed parts .\" of man pages. The first argument is ignored and used for recording .\" the version when the .VS was added, so that the sidebars can be .\" found and removed when they reach a certain age. If another argument .\" is present, then a line break is forced before starting the sidebar. .\" .\" .VE .\" End of vertical sidebar. .\" .\" .DS .\" Begin an indented unfilled display. .\" .\" .DE .\" End of indented unfilled display. .\" .\" .SO ?manpage? .\" Start of list of standard options for a Tk widget. The manpage .\" argument defines where to look up the standard options; if .\" omitted, defaults to "options". The options follow on successive .\" lines, in three columns separated by tabs. .\" .\" .SE .\" End of list of standard options for a Tk widget. .\" .\" .OP cmdName dbName dbClass .\" Start of description of a specific option. cmdName gives the .\" option's name as specified in the class command, dbName gives .\" the option's name in the option database, and dbClass gives .\" the option's class in the option database. .\" .\" .UL arg1 arg2 .\" Print arg1 underlined, then print arg2 normally. .\" .\" .QW arg1 ?arg2? .\" Print arg1 in quotes, then arg2 normally (for trailing punctuation). .\" .\" .PQ arg1 ?arg2? .\" Print an open parenthesis, arg1 in quotes, then arg2 normally .\" (for trailing punctuation) and then a closing parenthesis. .\" .\" # Set up traps and other miscellaneous stuff for Tcl/Tk man pages. .if t .wh -1.3i ^B .nr ^l \n(.l .ad b .\" # Start an argument description .de AP .ie !"\\$4"" .TP \\$4 .el \{\ . ie !"\\$2"" .TP \\n()Cu . el .TP 15 .\} .ta \\n()Au \\n()Bu .ie !"\\$3"" \{\ \&\\$1 \\fI\\$2\\fP (\\$3) .\".b .\} .el \{\ .br .ie !"\\$2"" \{\ \&\\$1 \\fI\\$2\\fP .\} .el \{\ \&\\fI\\$1\\fP .\} .\} .. .\" # define tabbing values for .AP .de AS .nr )A 10n .if !"\\$1"" .nr )A \\w'\\$1'u+3n .nr )B \\n()Au+15n .\" .if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n .nr )C \\n()Bu+\\w'(in/out)'u+2n .. .AS Tcl_Interp Tcl_CreateInterp in/out .\" # BS - start boxed text .\" # ^y = starting y location .\" # ^b = 1 .de BS .br .mk ^y .nr ^b 1u .if n .nf .if n .ti 0 .if n \l'\\n(.lu\(ul' .if n .fi .. .\" # BE - end boxed text (draw box now) .de BE .nf .ti 0 .mk ^t .ie n \l'\\n(^lu\(ul' .el \{\ .\" Draw four-sided box normally, but don't draw top of .\" box if the box started on an earlier page. .ie !\\n(^b-1 \{\ \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul' .\} .el \}\ \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul' .\} .\} .fi .br .nr ^b 0 .. .\" # VS - start vertical sidebar .\" # ^Y = starting y location .\" # ^v = 1 (for troff; for nroff this doesn't matter) .de VS .if !"\\$2"" .br .mk ^Y .ie n 'mc \s12\(br\s0 .el .nr ^v 1u .. .\" # VE - end of vertical sidebar .de VE .ie n 'mc .el \{\ .ev 2 .nf .ti 0 .mk ^t \h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n' .sp -1 .fi .ev .\} .nr ^v 0 .. .\" # Special macro to handle page bottom: finish off current .\" # box/sidebar if in box/sidebar mode, then invoked standard .\" # page bottom macro. .de ^B .ev 2 'ti 0 'nf .mk ^t .if \\n(^b \{\ .\" Draw three-sided box if this is the box's first page, .\" draw two sides but no top otherwise. .ie !\\n(^b-1 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c .el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c .\} .if \\n(^v \{\ .nr ^x \\n(^tu+1v-\\n(^Yu \kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c .\} .bp 'fi .ev .if \\n(^b \{\ .mk ^y .nr ^b 2 .\} .if \\n(^v \{\ .mk ^Y .\} .. .\" # DS - begin display .de DS .RS .nf .sp .. .\" # DE - end display .de DE .fi .RE .sp .. .\" # SO - start of list of standard options .de SO 'ie '\\$1'' .ds So \\fBoptions\\fR 'el .ds So \\fB\\$1\\fR .SH "STANDARD OPTIONS" .LP .nf .ta 5.5c 11c .ft B .. .\" # SE - end of list of standard options .de SE .fi .ft R .LP See the \\*(So manual entry for details on the standard options. .. .\" # OP - start of full description for a single option .de OP .LP .nf .ta 4c Command-Line Name: \\fB\\$1\\fR Database Name: \\fB\\$2\\fR Database Class: \\fB\\$3\\fR .fi .IP .. .\" # CS - begin code excerpt .de CS .RS .nf .ta .25i .5i .75i 1i .. .\" # CE - end code excerpt .de CE .fi .RE .. .\" # UL - underline word .de UL \\$1\l'|0\(ul'\\$2 .. .\" # QW - apply quotation marks to word .de QW .ie '\\*(lq'"' ``\\$1''\\$2 .\"" fix emacs highlighting .el \\*(lq\\$1\\*(rq\\$2 .. .\" # PQ - apply parens and quotation marks to word .de PQ .ie '\\*(lq'"' (``\\$1''\\$2)\\$3 .\"" fix emacs highlighting .el (\\*(lq\\$1\\*(rq\\$2)\\$3 .. .\" # QR - quoted range .de QR .ie '\\*(lq'"' ``\\$1''\\-``\\$2''\\$3 .\"" fix emacs highlighting .el \\*(lq\\$1\\*(rq\\-\\*(lq\\$2\\*(rq\\$3 .. .\" # MT - "empty" string .de MT .QW "" .. .BS .SH NAME cmdr::validate::time::minute \- Cmdr - Validation type for times to the minute .SH SYNOPSIS package require \fBtry \fR .sp package require \fBclock::iso8601 \fR .sp package require \fBcmdr::validate::common \fR .sp package require \fBcmdr::validate::time \fR .sp \fB::cmdr::validate::time\fR \fB2external\fR \fIepoch\fR .sp .BE .SH DESCRIPTION .PP Welcome to the Cmdr project, written by Andreas Kupries\&. .PP For availability please read \fICmdr - How To Get The Sources\fR\&. .PP .PP This package provides the validation type \fB::cmdr::validate::time::minute\fR which accepts timestamps with minute precision in ISO 8601 syntax (limited to without seconds), or as integer offset in minutes from midnight (modulo 24 hours)\&. .PP The internal representation is the offset in minutes from midnight for the validated input\&. .PP The type has no input completion\&. .PP The details of the exported standard API can be found in \fICmdr - Writing custom validation types\fR\&. The chosen default is "now" to the minute\&. .PP A single non-standard method is provided: .TP \fB::cmdr::validate::time\fR \fB2external\fR \fIepoch\fR This method converts the offset in minutes from midnight of a time to the form %H:%M and returns the conversion result as its own\&. .PP .SH "BUGS, IDEAS, FEEDBACK" Both the package(s) and this documentation will undoubtedly contain bugs and other problems\&. Please report such at \fICmdr Tickets\fR [https:/core\&.tcl\&.tk/akupries/cmdr]\&. .PP Please also report any ideas you may have for enhancements of either package(s) and/or documentation\&. .SH KEYWORDS arguments, command hierarchy, command line completion, command line handling, command tree, editing command line, help for command line, hierarchy of commands, interactive command shell, optional arguments, options, parameters, processing command line, tree of commands .SH COPYRIGHT .nf Copyright (c) 2013-2015 Andreas Kupries Copyright (c) 2013-2015 Documentation, Andreas Kupries .fi |
Changes to embedded/man/index.n.
︙ | ︙ | |||
369 370 371 372 373 374 375 376 377 378 379 380 381 382 | cmdr::validate::date .TP \fBfiles/cmdr_vt_posint\&.n\fR cmdr::validate::posint .TP \fBfiles/cmdr_vt_time\&.n\fR cmdr::validate::time .TP \fBfiles/cmdr_vt_weekday\&.n\fR cmdr::validate::weekday .TP \fBfiles/cmdr_vt_year\&.n\fR cmdr::validate::year .TP | > > > | 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 | cmdr::validate::date .TP \fBfiles/cmdr_vt_posint\&.n\fR cmdr::validate::posint .TP \fBfiles/cmdr_vt_time\&.n\fR cmdr::validate::time .TP \fBfiles/cmdr_vt_time_minute\&.n\fR cmdr::validate::time::minute .TP \fBfiles/cmdr_vt_weekday\&.n\fR cmdr::validate::weekday .TP \fBfiles/cmdr_vt_year\&.n\fR cmdr::validate::year .TP |
︙ | ︙ | |||
486 487 488 489 490 491 492 493 494 495 496 497 498 499 | cmdr::validate::date .TP \fBfiles/cmdr_vt_posint\&.n\fR cmdr::validate::posint .TP \fBfiles/cmdr_vt_time\&.n\fR cmdr::validate::time .TP \fBfiles/cmdr_vt_weekday\&.n\fR cmdr::validate::weekday .TP \fBfiles/cmdr_vt_year\&.n\fR cmdr::validate::year .TP | > > > | 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 | cmdr::validate::date .TP \fBfiles/cmdr_vt_posint\&.n\fR cmdr::validate::posint .TP \fBfiles/cmdr_vt_time\&.n\fR cmdr::validate::time .TP \fBfiles/cmdr_vt_time_minute\&.n\fR cmdr::validate::time::minute .TP \fBfiles/cmdr_vt_weekday\&.n\fR cmdr::validate::weekday .TP \fBfiles/cmdr_vt_year\&.n\fR cmdr::validate::year .TP |
︙ | ︙ | |||
603 604 605 606 607 608 609 610 611 612 613 614 615 616 | cmdr::validate::date .TP \fBfiles/cmdr_vt_posint\&.n\fR cmdr::validate::posint .TP \fBfiles/cmdr_vt_time\&.n\fR cmdr::validate::time .TP \fBfiles/cmdr_vt_weekday\&.n\fR cmdr::validate::weekday .TP \fBfiles/cmdr_vt_year\&.n\fR cmdr::validate::year .TP | > > > | 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 | cmdr::validate::date .TP \fBfiles/cmdr_vt_posint\&.n\fR cmdr::validate::posint .TP \fBfiles/cmdr_vt_time\&.n\fR cmdr::validate::time .TP \fBfiles/cmdr_vt_time_minute\&.n\fR cmdr::validate::time::minute .TP \fBfiles/cmdr_vt_weekday\&.n\fR cmdr::validate::weekday .TP \fBfiles/cmdr_vt_year\&.n\fR cmdr::validate::year .TP |
︙ | ︙ | |||
720 721 722 723 724 725 726 727 728 729 730 731 732 733 | cmdr::validate::date .TP \fBfiles/cmdr_vt_posint\&.n\fR cmdr::validate::posint .TP \fBfiles/cmdr_vt_time\&.n\fR cmdr::validate::time .TP \fBfiles/cmdr_vt_weekday\&.n\fR cmdr::validate::weekday .TP \fBfiles/cmdr_vt_year\&.n\fR cmdr::validate::year .TP | > > > | 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 | cmdr::validate::date .TP \fBfiles/cmdr_vt_posint\&.n\fR cmdr::validate::posint .TP \fBfiles/cmdr_vt_time\&.n\fR cmdr::validate::time .TP \fBfiles/cmdr_vt_time_minute\&.n\fR cmdr::validate::time::minute .TP \fBfiles/cmdr_vt_weekday\&.n\fR cmdr::validate::weekday .TP \fBfiles/cmdr_vt_year\&.n\fR cmdr::validate::year .TP |
︙ | ︙ | |||
837 838 839 840 841 842 843 844 845 846 847 848 849 850 | cmdr::validate::date .TP \fBfiles/cmdr_vt_posint\&.n\fR cmdr::validate::posint .TP \fBfiles/cmdr_vt_time\&.n\fR cmdr::validate::time .TP \fBfiles/cmdr_vt_weekday\&.n\fR cmdr::validate::weekday .TP \fBfiles/cmdr_vt_year\&.n\fR cmdr::validate::year .TP | > > > | 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 | cmdr::validate::date .TP \fBfiles/cmdr_vt_posint\&.n\fR cmdr::validate::posint .TP \fBfiles/cmdr_vt_time\&.n\fR cmdr::validate::time .TP \fBfiles/cmdr_vt_time_minute\&.n\fR cmdr::validate::time::minute .TP \fBfiles/cmdr_vt_weekday\&.n\fR cmdr::validate::weekday .TP \fBfiles/cmdr_vt_year\&.n\fR cmdr::validate::year .TP |
︙ | ︙ | |||
954 955 956 957 958 959 960 961 962 963 964 965 966 967 | cmdr::validate::date .TP \fBfiles/cmdr_vt_posint\&.n\fR cmdr::validate::posint .TP \fBfiles/cmdr_vt_time\&.n\fR cmdr::validate::time .TP \fBfiles/cmdr_vt_weekday\&.n\fR cmdr::validate::weekday .TP \fBfiles/cmdr_vt_year\&.n\fR cmdr::validate::year .TP | > > > | 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 | cmdr::validate::date .TP \fBfiles/cmdr_vt_posint\&.n\fR cmdr::validate::posint .TP \fBfiles/cmdr_vt_time\&.n\fR cmdr::validate::time .TP \fBfiles/cmdr_vt_time_minute\&.n\fR cmdr::validate::time::minute .TP \fBfiles/cmdr_vt_weekday\&.n\fR cmdr::validate::weekday .TP \fBfiles/cmdr_vt_year\&.n\fR cmdr::validate::year .TP |
︙ | ︙ | |||
1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 | cmdr::validate::date .TP \fBfiles/cmdr_vt_posint\&.n\fR cmdr::validate::posint .TP \fBfiles/cmdr_vt_time\&.n\fR cmdr::validate::time .TP \fBfiles/cmdr_vt_weekday\&.n\fR cmdr::validate::weekday .TP \fBfiles/cmdr_vt_year\&.n\fR cmdr::validate::year .TP | > > > | 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 | cmdr::validate::date .TP \fBfiles/cmdr_vt_posint\&.n\fR cmdr::validate::posint .TP \fBfiles/cmdr_vt_time\&.n\fR cmdr::validate::time .TP \fBfiles/cmdr_vt_time_minute\&.n\fR cmdr::validate::time::minute .TP \fBfiles/cmdr_vt_weekday\&.n\fR cmdr::validate::weekday .TP \fBfiles/cmdr_vt_year\&.n\fR cmdr::validate::year .TP |
︙ | ︙ | |||
1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 | cmdr::validate::date .TP \fBfiles/cmdr_vt_posint\&.n\fR cmdr::validate::posint .TP \fBfiles/cmdr_vt_time\&.n\fR cmdr::validate::time .TP \fBfiles/cmdr_vt_weekday\&.n\fR cmdr::validate::weekday .TP \fBfiles/cmdr_vt_year\&.n\fR cmdr::validate::year .TP | > > > | 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 | cmdr::validate::date .TP \fBfiles/cmdr_vt_posint\&.n\fR cmdr::validate::posint .TP \fBfiles/cmdr_vt_time\&.n\fR cmdr::validate::time .TP \fBfiles/cmdr_vt_time_minute\&.n\fR cmdr::validate::time::minute .TP \fBfiles/cmdr_vt_weekday\&.n\fR cmdr::validate::weekday .TP \fBfiles/cmdr_vt_year\&.n\fR cmdr::validate::year .TP |
︙ | ︙ | |||
1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 | cmdr::validate::date .TP \fBfiles/cmdr_vt_posint\&.n\fR cmdr::validate::posint .TP \fBfiles/cmdr_vt_time\&.n\fR cmdr::validate::time .TP \fBfiles/cmdr_vt_weekday\&.n\fR cmdr::validate::weekday .TP \fBfiles/cmdr_vt_year\&.n\fR cmdr::validate::year .TP | > > > | 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 | cmdr::validate::date .TP \fBfiles/cmdr_vt_posint\&.n\fR cmdr::validate::posint .TP \fBfiles/cmdr_vt_time\&.n\fR cmdr::validate::time .TP \fBfiles/cmdr_vt_time_minute\&.n\fR cmdr::validate::time::minute .TP \fBfiles/cmdr_vt_weekday\&.n\fR cmdr::validate::weekday .TP \fBfiles/cmdr_vt_year\&.n\fR cmdr::validate::year .TP |
︙ | ︙ | |||
1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 | cmdr::validate::date .TP \fBfiles/cmdr_vt_posint\&.n\fR cmdr::validate::posint .TP \fBfiles/cmdr_vt_time\&.n\fR cmdr::validate::time .TP \fBfiles/cmdr_vt_weekday\&.n\fR cmdr::validate::weekday .TP \fBfiles/cmdr_vt_year\&.n\fR cmdr::validate::year .TP | > > > | 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 | cmdr::validate::date .TP \fBfiles/cmdr_vt_posint\&.n\fR cmdr::validate::posint .TP \fBfiles/cmdr_vt_time\&.n\fR cmdr::validate::time .TP \fBfiles/cmdr_vt_time_minute\&.n\fR cmdr::validate::time::minute .TP \fBfiles/cmdr_vt_weekday\&.n\fR cmdr::validate::weekday .TP \fBfiles/cmdr_vt_year\&.n\fR cmdr::validate::year .TP |
︙ | ︙ | |||
1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 | cmdr::validate::date .TP \fBfiles/cmdr_vt_posint\&.n\fR cmdr::validate::posint .TP \fBfiles/cmdr_vt_time\&.n\fR cmdr::validate::time .TP \fBfiles/cmdr_vt_weekday\&.n\fR cmdr::validate::weekday .TP \fBfiles/cmdr_vt_year\&.n\fR cmdr::validate::year .TP | > > > | 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 | cmdr::validate::date .TP \fBfiles/cmdr_vt_posint\&.n\fR cmdr::validate::posint .TP \fBfiles/cmdr_vt_time\&.n\fR cmdr::validate::time .TP \fBfiles/cmdr_vt_time_minute\&.n\fR cmdr::validate::time::minute .TP \fBfiles/cmdr_vt_weekday\&.n\fR cmdr::validate::weekday .TP \fBfiles/cmdr_vt_year\&.n\fR cmdr::validate::year .TP |
︙ | ︙ | |||
1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 | cmdr::validate::date .TP \fBfiles/cmdr_vt_posint\&.n\fR cmdr::validate::posint .TP \fBfiles/cmdr_vt_time\&.n\fR cmdr::validate::time .TP \fBfiles/cmdr_vt_weekday\&.n\fR cmdr::validate::weekday .TP \fBfiles/cmdr_vt_year\&.n\fR cmdr::validate::year .TP | > > > | 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 | cmdr::validate::date .TP \fBfiles/cmdr_vt_posint\&.n\fR cmdr::validate::posint .TP \fBfiles/cmdr_vt_time\&.n\fR cmdr::validate::time .TP \fBfiles/cmdr_vt_time_minute\&.n\fR cmdr::validate::time::minute .TP \fBfiles/cmdr_vt_weekday\&.n\fR cmdr::validate::weekday .TP \fBfiles/cmdr_vt_year\&.n\fR cmdr::validate::year .TP |
︙ | ︙ | |||
1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 | cmdr::validate::date .TP \fBfiles/cmdr_vt_posint\&.n\fR cmdr::validate::posint .TP \fBfiles/cmdr_vt_time\&.n\fR cmdr::validate::time .TP \fBfiles/cmdr_vt_weekday\&.n\fR cmdr::validate::weekday .TP \fBfiles/cmdr_vt_year\&.n\fR cmdr::validate::year .TP | > > > | 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 | cmdr::validate::date .TP \fBfiles/cmdr_vt_posint\&.n\fR cmdr::validate::posint .TP \fBfiles/cmdr_vt_time\&.n\fR cmdr::validate::time .TP \fBfiles/cmdr_vt_time_minute\&.n\fR cmdr::validate::time::minute .TP \fBfiles/cmdr_vt_weekday\&.n\fR cmdr::validate::weekday .TP \fBfiles/cmdr_vt_year\&.n\fR cmdr::validate::year .TP |
︙ | ︙ | |||
1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 | cmdr::validate::date .TP \fBfiles/cmdr_vt_posint\&.n\fR cmdr::validate::posint .TP \fBfiles/cmdr_vt_time\&.n\fR cmdr::validate::time .TP \fBfiles/cmdr_vt_weekday\&.n\fR cmdr::validate::weekday .TP \fBfiles/cmdr_vt_year\&.n\fR cmdr::validate::year .TP | > > > | 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 | cmdr::validate::date .TP \fBfiles/cmdr_vt_posint\&.n\fR cmdr::validate::posint .TP \fBfiles/cmdr_vt_time\&.n\fR cmdr::validate::time .TP \fBfiles/cmdr_vt_time_minute\&.n\fR cmdr::validate::time::minute .TP \fBfiles/cmdr_vt_weekday\&.n\fR cmdr::validate::weekday .TP \fBfiles/cmdr_vt_year\&.n\fR cmdr::validate::year .TP |
︙ | ︙ |
Changes to embedded/man/toc.n.
︙ | ︙ | |||
366 367 368 369 370 371 372 | \fBcmdr::validate::date\fR \fIfiles/cmdr_vt_date\&.n\fR: Cmdr - Validation type for dates .TP \fBcmdr::validate::posint\fR \fIfiles/cmdr_vt_posint\&.n\fR: Cmdr - Validation type for positive integers .TP \fBcmdr::validate::time\fR | | > > > | 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 | \fBcmdr::validate::date\fR \fIfiles/cmdr_vt_date\&.n\fR: Cmdr - Validation type for dates .TP \fBcmdr::validate::posint\fR \fIfiles/cmdr_vt_posint\&.n\fR: Cmdr - Validation type for positive integers .TP \fBcmdr::validate::time\fR \fIfiles/cmdr_vt_time\&.n\fR: Cmdr - Validation type for times (to the second) .TP \fBcmdr::validate::time::minute\fR \fIfiles/cmdr_vt_time_minute\&.n\fR: Cmdr - Validation type for times to the minute .TP \fBcmdr::validate::weekday\fR \fIfiles/cmdr_vt_weekday\&.n\fR: Cmdr - Validation type for weekday names .TP \fBcmdr::validate::year\fR \fIfiles/cmdr_vt_year\&.n\fR: Cmdr - Validation type for years .TP |
︙ | ︙ |
Changes to embedded/www/doc/files/cmdr_vt_time.html.
︙ | ︙ | |||
103 104 105 106 107 108 109 | <a href="../../../../../../home">Home</a> | <a href="../../toc.html">Main Table Of Contents</a> | <a href="../toc.html">Table Of Contents</a> | <a href="../../index.html">Keyword Index</a> ] <hr> <h1 class="title">cmdr::validate::time(n) 1 doc "Cmdr, a framework for command line parsing and dispatch"</h1> <div id="name" class="section"><h2><a name="name">Name</a></h2> | | | 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 | <a href="../../../../../../home">Home</a> | <a href="../../toc.html">Main Table Of Contents</a> | <a href="../toc.html">Table Of Contents</a> | <a href="../../index.html">Keyword Index</a> ] <hr> <h1 class="title">cmdr::validate::time(n) 1 doc "Cmdr, a framework for command line parsing and dispatch"</h1> <div id="name" class="section"><h2><a name="name">Name</a></h2> <p>cmdr::validate::time - Cmdr - Validation type for times (to the second)</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> |
︙ | ︙ |
Added embedded/www/doc/files/cmdr_vt_time_minute.html.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | <html><head> <title>cmdr::validate::time::minute - Cmdr, a framework for command line parsing and dispatch</title> <style type="text/css"><!-- HTML { background: #FFFFFF; color: black; } BODY { background: #FFFFFF; color: black; } DIV.doctools { margin-left: 10%; margin-right: 10%; } DIV.doctools H1,DIV.doctools H2 { margin-left: -5%; } H1, H2, H3, H4 { margin-top: 1em; font-family: sans-serif; font-size: large; color: #005A9C; background: transparent; text-align: left; } H1.title { text-align: center; } UL,OL { margin-right: 0em; margin-top: 3pt; margin-bottom: 3pt; } UL LI { list-style: disc; } OL LI { list-style: decimal; } DT { padding-top: 1ex; } UL.toc,UL.toc UL, UL.toc UL UL { font: normal 12pt/14pt sans-serif; list-style: none; } LI.section, LI.subsection { list-style: none; margin-left: 0em; text-indent: 0em; padding: 0em; } PRE { display: block; font-family: monospace; white-space: pre; margin: 0%; padding-top: 0.5ex; padding-bottom: 0.5ex; padding-left: 1ex; padding-right: 1ex; width: 100%; } PRE.example { color: black; background: #f5dcb3; border: 1px solid black; } UL.requirements LI, UL.syntax LI { list-style: none; margin-left: 0em; text-indent: 0em; padding: 0em; } DIV.synopsis { color: black; background: #80ffff; border: 1px solid black; font-family: serif; margin-top: 1em; margin-bottom: 1em; } UL.syntax { margin-top: 1em; border-top: 1px solid black; } UL.requirements { margin-bottom: 1em; border-bottom: 1px solid black; } --></style> </head> <! -- Generated from file 'cmdr_vt_time_minute.man' by tcllib/doctools with format 'html' --> <! -- Copyright © 2013-2015 Andreas Kupries -- Copyright © 2013-2015 Documentation, Andreas Kupries --> <! -- CVS: $Id$ cmdr::validate::time::minute.n --> <body><div class="doctools"> <hr> [ <a href="../../../../../../home">Home</a> | <a href="../../toc.html">Main Table Of Contents</a> | <a href="../toc.html">Table Of Contents</a> | <a href="../../index.html">Keyword Index</a> ] <hr> <h1 class="title">cmdr::validate::time::minute(n) 1 doc "Cmdr, a framework for command line parsing and dispatch"</h1> <div id="name" class="section"><h2><a name="name">Name</a></h2> <p>cmdr::validate::time::minute - Cmdr - Validation type for times to the minute</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> <li>package require <b class="pkgname">try</b></li> <li>package require <b class="pkgname">clock::iso8601</b></li> <li>package require <b class="pkgname">cmdr::validate::common</b></li> <li>package require <b class="pkgname">cmdr::validate::time</b></li> </ul> <ul class="syntax"> <li><a href="#1"><b class="cmd">::cmdr::validate::time</b> <b class="method">2external</b> <i class="arg">epoch</i></a></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>Welcome to the Cmdr project, written by Andreas Kupries.</p> <p>For availability please read <i class="term"><a href="cmdr_howto_get_sources.html">Cmdr - How To Get The Sources</a></i>.</p> <p>This package provides the validation type <b class="cmd">::cmdr::validate::time::minute</b> which accepts timestamps with minute precision in ISO 8601 syntax (limited to without seconds), or as integer offset in minutes from midnight (modulo 24 hours).</p> <p>The internal representation is the offset in minutes from midnight for the validated input.</p> <p>The type has no input completion.</p> <p>The details of the exported standard API can be found in <i class="term"><a href="cmdr_vtypes.html">Cmdr - Writing custom validation types</a></i>. The chosen default is "now" to the minute.</p> <p>A single non-standard method is provided:</p> <dl class="definitions"> <dt><a name="1"><b class="cmd">::cmdr::validate::time</b> <b class="method">2external</b> <i class="arg">epoch</i></a></dt> <dd><p>This method converts the offset in minutes from midnight of a time to the form %H:%M and returns the conversion result as its own.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>Both the package(s) and this documentation will undoubtedly contain bugs and other problems. Please report such at <a href="https:/core.tcl.tk/akupries/cmdr">Cmdr Tickets</a>.</p> <p>Please also report any ideas you may have for enhancements of either package(s) and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../index.html#key4">arguments</a>, <a href="../../index.html#key5">command hierarchy</a>, <a href="../../index.html#key9">command line completion</a>, <a href="../../index.html#key11">command line handling</a>, <a href="../../index.html#key13">command tree</a>, <a href="../../index.html#key0">editing command line</a>, <a href="../../index.html#key8">help for command line</a>, <a href="../../index.html#key6">hierarchy of commands</a>, <a href="../../index.html#key3">interactive command shell</a>, <a href="../../index.html#key1">optional arguments</a>, <a href="../../index.html#key2">options</a>, <a href="../../index.html#key12">parameters</a>, <a href="../../index.html#key10">processing command line</a>, <a href="../../index.html#key7">tree of commands</a></p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2013-2015 Andreas Kupries<br> Copyright © 2013-2015 Documentation, Andreas Kupries</p> </div> </div></body></html> |
Changes to embedded/www/doc/toc.html.
︙ | ︙ | |||
139 140 141 142 143 144 145 | </tr> <tr class="#tocodd" > <td class="#tocleft" ><a href="files/cmdr_vt_posint.html">cmdr::validate::posint</a></td> <td class="#tocright">Cmdr - Validation type for positive integers</td> </tr> <tr class="#toceven" > <td class="#tocleft" ><a href="files/cmdr_vt_time.html">cmdr::validate::time</a></td> | | > > > > | | | | | 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | </tr> <tr class="#tocodd" > <td class="#tocleft" ><a href="files/cmdr_vt_posint.html">cmdr::validate::posint</a></td> <td class="#tocright">Cmdr - Validation type for positive integers</td> </tr> <tr class="#toceven" > <td class="#tocleft" ><a href="files/cmdr_vt_time.html">cmdr::validate::time</a></td> <td class="#tocright">Cmdr - Validation type for times (to the second)</td> </tr> <tr class="#tocodd" > <td class="#tocleft" ><a href="files/cmdr_vt_time_minute.html">cmdr::validate::time::minute</a></td> <td class="#tocright">Cmdr - Validation type for times to the minute</td> </tr> <tr class="#toceven" > <td class="#tocleft" ><a href="files/cmdr_vt_weekday.html">cmdr::validate::weekday</a></td> <td class="#tocright">Cmdr - Validation type for weekday names</td> </tr> <tr class="#tocodd" > <td class="#tocleft" ><a href="files/cmdr_vt_year.html">cmdr::validate::year</a></td> <td class="#tocright">Cmdr - Validation type for years</td> </tr> <tr class="#toceven" > <td class="#tocleft" ><a href="files/cmdr_howto_development.html">cmdr_development</a></td> <td class="#tocright">Cmdr - The Developer's Guide</td> </tr> <tr class="#tocodd" > <td class="#tocleft" ><a href="files/cmdr_dev_completion.html">cmdr_dev~completion</a></td> <td class="#tocright">Cmdr - Internals of command line completion</td> </tr> <tr class="#toceven" > <td class="#tocleft" ><a href="files/cmdr_dev_dsl.html">cmdr_dev~dsl</a></td> <td class="#tocright">Cmdr - Internals of DSL handling</td> </tr> </table> </dl><hr></body></html> |
Changes to embedded/www/index.html.
︙ | ︙ | |||
18 19 20 21 22 23 24 | <hr><table class="#idx" width="100%"> <tr class="#idxheader"><th colspan="2"> <a name="c1">Keywords: A</a> </th></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key4"> arguments </a></td> <td class="#idxright" width="65%"> | | | | | | | | | | | | | | | | 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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | <hr><table class="#idx" width="100%"> <tr class="#idxheader"><th colspan="2"> <a name="c1">Keywords: A</a> </th></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key4"> arguments </a></td> <td class="#idxright" width="65%"> <a href="doc/files/cmdr.html"> cmdr </a> · <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> · <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> · <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> · <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> · <a href="doc/files/cmdr_license.html"> cmdr-license </a> · <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> · <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> · <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> · <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> · <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> · <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> · <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> · <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> · <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> · <a href="doc/files/cmdr_color.html"> cmdr::color </a> · <a href="doc/files/cmdr_config.html"> cmdr::config </a> · <a href="doc/files/cmdr_help.html"> cmdr::help </a> · <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> · <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> · <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> · <a href="doc/files/cmdr_history.html"> cmdr::history </a> · <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> · <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> · <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> · <a href="doc/files/cmdr_private.html"> cmdr::private </a> · <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> · <a href="doc/files/cmdr_util.html"> cmdr::util </a> · <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> · <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> · <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> · <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> · <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> · <a href="doc/files/cmdr_vt_time_minute.html"> cmdr::validate::time::minute </a> · <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> · <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> · <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> · <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> · <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a> </td></tr> <tr class="#idxheader"><th colspan="2"> <a name="c2">Keywords: C</a> </th></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key5"> command hierarchy </a></td> <td class="#idxright" width="65%"> <a href="doc/files/cmdr.html"> cmdr </a> · <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> · <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> · <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> · <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> · <a href="doc/files/cmdr_license.html"> cmdr-license </a> · <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> · <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> · <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> · <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> · <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> · <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> · <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> · <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> · <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> · <a href="doc/files/cmdr_color.html"> cmdr::color </a> · <a href="doc/files/cmdr_config.html"> cmdr::config </a> · <a href="doc/files/cmdr_help.html"> cmdr::help </a> · <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> · <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> · <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> · <a href="doc/files/cmdr_history.html"> cmdr::history </a> · <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> · <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> · <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> · <a href="doc/files/cmdr_private.html"> cmdr::private </a> · <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> · <a href="doc/files/cmdr_util.html"> cmdr::util </a> · <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> · <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> · <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> · <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> · <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> · <a href="doc/files/cmdr_vt_time_minute.html"> cmdr::validate::time::minute </a> · <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> · <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> · <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> · <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> · <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key9"> command line completion </a></td> <td class="#idxright" width="65%"> <a href="doc/files/cmdr.html"> cmdr </a> · <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> · <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> · <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> · <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> · <a href="doc/files/cmdr_license.html"> cmdr-license </a> · <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> · <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> · <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> · <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> · <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> · <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> · <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> · <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> · <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> · <a href="doc/files/cmdr_color.html"> cmdr::color </a> · <a href="doc/files/cmdr_config.html"> cmdr::config </a> · <a href="doc/files/cmdr_help.html"> cmdr::help </a> · <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> · <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> · <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> · <a href="doc/files/cmdr_history.html"> cmdr::history </a> · <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> · <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> · <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> · <a href="doc/files/cmdr_private.html"> cmdr::private </a> · <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> · <a href="doc/files/cmdr_util.html"> cmdr::util </a> · <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> · <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> · <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> · <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> · <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> · <a href="doc/files/cmdr_vt_time_minute.html"> cmdr::validate::time::minute </a> · <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> · <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> · <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> · <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> · <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key11"> command line handling </a></td> <td class="#idxright" width="65%"> <a href="doc/files/cmdr.html"> cmdr </a> · <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> · <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> · <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> · <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> · <a href="doc/files/cmdr_license.html"> cmdr-license </a> · <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> · <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> · <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> · <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> · <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> · <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> · <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> · <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> · <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> · <a href="doc/files/cmdr_color.html"> cmdr::color </a> · <a href="doc/files/cmdr_config.html"> cmdr::config </a> · <a href="doc/files/cmdr_help.html"> cmdr::help </a> · <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> · <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> · <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> · <a href="doc/files/cmdr_history.html"> cmdr::history </a> · <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> · <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> · <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> · <a href="doc/files/cmdr_private.html"> cmdr::private </a> · <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> · <a href="doc/files/cmdr_util.html"> cmdr::util </a> · <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> · <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> · <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> · <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> · <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> · <a href="doc/files/cmdr_vt_time_minute.html"> cmdr::validate::time::minute </a> · <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> · <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> · <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> · <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> · <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key13"> command tree </a></td> <td class="#idxright" width="65%"> <a href="doc/files/cmdr.html"> cmdr </a> · <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> · <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> · <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> · <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> · <a href="doc/files/cmdr_license.html"> cmdr-license </a> · <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> · <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> · <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> · <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> · <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> · <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> · <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> · <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> · <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> · <a href="doc/files/cmdr_color.html"> cmdr::color </a> · <a href="doc/files/cmdr_config.html"> cmdr::config </a> · <a href="doc/files/cmdr_help.html"> cmdr::help </a> · <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> · <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> · <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> · <a href="doc/files/cmdr_history.html"> cmdr::history </a> · <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> · <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> · <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> · <a href="doc/files/cmdr_private.html"> cmdr::private </a> · <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> · <a href="doc/files/cmdr_util.html"> cmdr::util </a> · <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> · <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> · <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> · <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> · <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> · <a href="doc/files/cmdr_vt_time_minute.html"> cmdr::validate::time::minute </a> · <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> · <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> · <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> · <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> · <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a> </td></tr> <tr class="#idxheader"><th colspan="2"> <a name="c3">Keywords: E</a> </th></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key0"> editing command line </a></td> <td class="#idxright" width="65%"> <a href="doc/files/cmdr.html"> cmdr </a> · <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> · <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> · <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> · <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> · <a href="doc/files/cmdr_license.html"> cmdr-license </a> · <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> · <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> · <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> · <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> · <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> · <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> · <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> · <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> · <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> · <a href="doc/files/cmdr_color.html"> cmdr::color </a> · <a href="doc/files/cmdr_config.html"> cmdr::config </a> · <a href="doc/files/cmdr_help.html"> cmdr::help </a> · <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> · <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> · <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> · <a href="doc/files/cmdr_history.html"> cmdr::history </a> · <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> · <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> · <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> · <a href="doc/files/cmdr_private.html"> cmdr::private </a> · <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> · <a href="doc/files/cmdr_util.html"> cmdr::util </a> · <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> · <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> · <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> · <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> · <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> · <a href="doc/files/cmdr_vt_time_minute.html"> cmdr::validate::time::minute </a> · <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> · <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> · <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> · <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> · <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a> </td></tr> <tr class="#idxheader"><th colspan="2"> <a name="c4">Keywords: H</a> </th></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key8"> help for command line </a></td> <td class="#idxright" width="65%"> <a href="doc/files/cmdr.html"> cmdr </a> · <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> · <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> · <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> · <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> · <a href="doc/files/cmdr_license.html"> cmdr-license </a> · <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> · <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> · <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> · <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> · <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> · <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> · <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> · <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> · <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> · <a href="doc/files/cmdr_color.html"> cmdr::color </a> · <a href="doc/files/cmdr_config.html"> cmdr::config </a> · <a href="doc/files/cmdr_help.html"> cmdr::help </a> · <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> · <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> · <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> · <a href="doc/files/cmdr_history.html"> cmdr::history </a> · <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> · <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> · <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> · <a href="doc/files/cmdr_private.html"> cmdr::private </a> · <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> · <a href="doc/files/cmdr_util.html"> cmdr::util </a> · <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> · <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> · <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> · <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> · <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> · <a href="doc/files/cmdr_vt_time_minute.html"> cmdr::validate::time::minute </a> · <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> · <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> · <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> · <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> · <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key6"> hierarchy of commands </a></td> <td class="#idxright" width="65%"> <a href="doc/files/cmdr.html"> cmdr </a> · <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> · <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> · <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> · <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> · <a href="doc/files/cmdr_license.html"> cmdr-license </a> · <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> · <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> · <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> · <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> · <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> · <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> · <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> · <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> · <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> · <a href="doc/files/cmdr_color.html"> cmdr::color </a> · <a href="doc/files/cmdr_config.html"> cmdr::config </a> · <a href="doc/files/cmdr_help.html"> cmdr::help </a> · <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> · <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> · <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> · <a href="doc/files/cmdr_history.html"> cmdr::history </a> · <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> · <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> · <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> · <a href="doc/files/cmdr_private.html"> cmdr::private </a> · <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> · <a href="doc/files/cmdr_util.html"> cmdr::util </a> · <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> · <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> · <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> · <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> · <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> · <a href="doc/files/cmdr_vt_time_minute.html"> cmdr::validate::time::minute </a> · <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> · <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> · <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> · <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> · <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a> </td></tr> <tr class="#idxheader"><th colspan="2"> <a name="c5">Keywords: I</a> </th></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key3"> interactive command shell </a></td> <td class="#idxright" width="65%"> <a href="doc/files/cmdr.html"> cmdr </a> · <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> · <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> · <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> · <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> · <a href="doc/files/cmdr_license.html"> cmdr-license </a> · <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> · <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> · <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> · <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> · <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> · <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> · <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> · <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> · <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> · <a href="doc/files/cmdr_color.html"> cmdr::color </a> · <a href="doc/files/cmdr_config.html"> cmdr::config </a> · <a href="doc/files/cmdr_help.html"> cmdr::help </a> · <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> · <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> · <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> · <a href="doc/files/cmdr_history.html"> cmdr::history </a> · <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> · <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> · <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> · <a href="doc/files/cmdr_private.html"> cmdr::private </a> · <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> · <a href="doc/files/cmdr_util.html"> cmdr::util </a> · <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> · <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> · <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> · <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> · <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> · <a href="doc/files/cmdr_vt_time_minute.html"> cmdr::validate::time::minute </a> · <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> · <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> · <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> · <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> · <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a> </td></tr> <tr class="#idxheader"><th colspan="2"> <a name="c6">Keywords: O</a> </th></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key1"> optional arguments </a></td> <td class="#idxright" width="65%"> <a href="doc/files/cmdr.html"> cmdr </a> · <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> · <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> · <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> · <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> · <a href="doc/files/cmdr_license.html"> cmdr-license </a> · <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> · <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> · <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> · <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> · <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> · <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> · <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> · <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> · <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> · <a href="doc/files/cmdr_color.html"> cmdr::color </a> · <a href="doc/files/cmdr_config.html"> cmdr::config </a> · <a href="doc/files/cmdr_help.html"> cmdr::help </a> · <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> · <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> · <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> · <a href="doc/files/cmdr_history.html"> cmdr::history </a> · <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> · <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> · <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> · <a href="doc/files/cmdr_private.html"> cmdr::private </a> · <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> · <a href="doc/files/cmdr_util.html"> cmdr::util </a> · <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> · <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> · <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> · <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> · <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> · <a href="doc/files/cmdr_vt_time_minute.html"> cmdr::validate::time::minute </a> · <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> · <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> · <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> · <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> · <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key2"> options </a></td> <td class="#idxright" width="65%"> <a href="doc/files/cmdr.html"> cmdr </a> · <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> · <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> · <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> · <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> · <a href="doc/files/cmdr_license.html"> cmdr-license </a> · <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> · <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> · <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> · <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> · <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> · <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> · <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> · <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> · <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> · <a href="doc/files/cmdr_color.html"> cmdr::color </a> · <a href="doc/files/cmdr_config.html"> cmdr::config </a> · <a href="doc/files/cmdr_help.html"> cmdr::help </a> · <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> · <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> · <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> · <a href="doc/files/cmdr_history.html"> cmdr::history </a> · <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> · <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> · <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> · <a href="doc/files/cmdr_private.html"> cmdr::private </a> · <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> · <a href="doc/files/cmdr_util.html"> cmdr::util </a> · <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> · <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> · <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> · <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> · <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> · <a href="doc/files/cmdr_vt_time_minute.html"> cmdr::validate::time::minute </a> · <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> · <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> · <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> · <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> · <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a> </td></tr> <tr class="#idxheader"><th colspan="2"> <a name="c7">Keywords: P</a> </th></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key12"> parameters </a></td> <td class="#idxright" width="65%"> <a href="doc/files/cmdr.html"> cmdr </a> · <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> · <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> · <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> · <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> · <a href="doc/files/cmdr_license.html"> cmdr-license </a> · <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> · <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> · <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> · <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> · <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> · <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> · <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> · <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> · <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> · <a href="doc/files/cmdr_color.html"> cmdr::color </a> · <a href="doc/files/cmdr_config.html"> cmdr::config </a> · <a href="doc/files/cmdr_help.html"> cmdr::help </a> · <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> · <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> · <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> · <a href="doc/files/cmdr_history.html"> cmdr::history </a> · <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> · <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> · <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> · <a href="doc/files/cmdr_private.html"> cmdr::private </a> · <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> · <a href="doc/files/cmdr_util.html"> cmdr::util </a> · <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> · <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> · <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> · <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> · <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> · <a href="doc/files/cmdr_vt_time_minute.html"> cmdr::validate::time::minute </a> · <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> · <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> · <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> · <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> · <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key10"> processing command line </a></td> <td class="#idxright" width="65%"> <a href="doc/files/cmdr.html"> cmdr </a> · <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> · <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> · <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> · <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> · <a href="doc/files/cmdr_license.html"> cmdr-license </a> · <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> · <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> · <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> · <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> · <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> · <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> · <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> · <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> · <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> · <a href="doc/files/cmdr_color.html"> cmdr::color </a> · <a href="doc/files/cmdr_config.html"> cmdr::config </a> · <a href="doc/files/cmdr_help.html"> cmdr::help </a> · <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> · <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> · <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> · <a href="doc/files/cmdr_history.html"> cmdr::history </a> · <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> · <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> · <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> · <a href="doc/files/cmdr_private.html"> cmdr::private </a> · <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> · <a href="doc/files/cmdr_util.html"> cmdr::util </a> · <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> · <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> · <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> · <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> · <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> · <a href="doc/files/cmdr_vt_time_minute.html"> cmdr::validate::time::minute </a> · <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> · <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> · <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> · <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> · <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a> </td></tr> <tr class="#idxheader"><th colspan="2"> <a name="c8">Keywords: T</a> </th></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key7"> tree of commands </a></td> <td class="#idxright" width="65%"> <a href="doc/files/cmdr.html"> cmdr </a> · <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> · <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> · <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> · <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> · <a href="doc/files/cmdr_license.html"> cmdr-license </a> · <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> · <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> · <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> · <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> · <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> · <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> · <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> · <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> · <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> · <a href="doc/files/cmdr_color.html"> cmdr::color </a> · <a href="doc/files/cmdr_config.html"> cmdr::config </a> · <a href="doc/files/cmdr_help.html"> cmdr::help </a> · <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> · <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> · <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> · <a href="doc/files/cmdr_history.html"> cmdr::history </a> · <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> · <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> · <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> · <a href="doc/files/cmdr_private.html"> cmdr::private </a> · <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> · <a href="doc/files/cmdr_util.html"> cmdr::util </a> · <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> · <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> · <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> · <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> · <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> · <a href="doc/files/cmdr_vt_time_minute.html"> cmdr::validate::time::minute </a> · <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> · <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> · <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> · <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> · <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a> </td></tr> </table> </body></html> |
Changes to embedded/www/toc.html.
︙ | ︙ | |||
139 140 141 142 143 144 145 | </tr> <tr class="#tocodd" > <td class="#tocleft" ><a href="doc/files/cmdr_vt_posint.html">cmdr::validate::posint</a></td> <td class="#tocright">Cmdr - Validation type for positive integers</td> </tr> <tr class="#toceven" > <td class="#tocleft" ><a href="doc/files/cmdr_vt_time.html">cmdr::validate::time</a></td> | | > > > > | | | | | 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | </tr> <tr class="#tocodd" > <td class="#tocleft" ><a href="doc/files/cmdr_vt_posint.html">cmdr::validate::posint</a></td> <td class="#tocright">Cmdr - Validation type for positive integers</td> </tr> <tr class="#toceven" > <td class="#tocleft" ><a href="doc/files/cmdr_vt_time.html">cmdr::validate::time</a></td> <td class="#tocright">Cmdr - Validation type for times (to the second)</td> </tr> <tr class="#tocodd" > <td class="#tocleft" ><a href="doc/files/cmdr_vt_time_minute.html">cmdr::validate::time::minute</a></td> <td class="#tocright">Cmdr - Validation type for times to the minute</td> </tr> <tr class="#toceven" > <td class="#tocleft" ><a href="doc/files/cmdr_vt_weekday.html">cmdr::validate::weekday</a></td> <td class="#tocright">Cmdr - Validation type for weekday names</td> </tr> <tr class="#tocodd" > <td class="#tocleft" ><a href="doc/files/cmdr_vt_year.html">cmdr::validate::year</a></td> <td class="#tocright">Cmdr - Validation type for years</td> </tr> <tr class="#toceven" > <td class="#tocleft" ><a href="doc/files/cmdr_howto_development.html">cmdr_development</a></td> <td class="#tocright">Cmdr - The Developer's Guide</td> </tr> <tr class="#tocodd" > <td class="#tocleft" ><a href="doc/files/cmdr_dev_completion.html">cmdr_dev~completion</a></td> <td class="#tocright">Cmdr - Internals of command line completion</td> </tr> <tr class="#toceven" > <td class="#tocleft" ><a href="doc/files/cmdr_dev_dsl.html">cmdr_dev~dsl</a></td> <td class="#tocright">Cmdr - Internals of DSL handling</td> </tr> </table> </dl><hr></body></html> |
Added tests/v_boolean.test.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 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 | # -*- tcl -*- tcl.tk//DSL tcltest//EN//2.0 # # ## ### ##### ######## ############# ##################### ## Testing the cmdr::validate package (sub: boolean). kt check Tcl 8.5 kt check tcltest 2 kt require support debug kt require support debug::caller kt local support cmdr::validate::common kt local testing cmdr::validate # # ## ### ##### ######## ############# ##################### ## Basic API. set vtype cmdr::validate::boolean set vtdef no kt source vtype.tcl # # ## ### ##### ######## ############# ##################### ## Specific behaviour - validation test vt-${vtype}-validate-2.0 "$vtype validate, fail" -body { $vtype validate P bogus } -returnCodes error -result {Expected a boolean (yes, no, false, true, on, off, 0, or 1) for T "P", got "bogus"} test vt-${vtype}-validate-2.1 "$vtype validate, ok, true" -body { $vtype validate P yes } -result 1 test vt-${vtype}-validate-2.2 "$vtype validate, ok, false" -body { $vtype validate P no } -result 0 # # ## ### ##### ######## ############# ##################### ## Specific behaviour - completion # # ## ### ##### ######## ############# ##################### cleanupTests return |
Added tests/v_double.test.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 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 45 46 | # -*- tcl -*- tcl.tk//DSL tcltest//EN//2.0 # # ## ### ##### ######## ############# ##################### ## Testing the cmdr::validate package (sub: double). kt check Tcl 8.5 kt check tcltest 2 kt require support debug kt require support debug::caller kt local support cmdr::validate::common kt local testing cmdr::validate # # ## ### ##### ######## ############# ##################### ## Basic API. set vtype cmdr::validate::double set vtdef 0 kt source vtype.tcl # # ## ### ##### ######## ############# ##################### ## Specific behaviour - validation test vt-${vtype}-validate-2.0 "$vtype validate, fail" -body { $vtype validate P bogus } -returnCodes error -result {Expected a double for T "P", got "bogus"} test vt-${vtype}-validate-2.1 "$vtype validate, fail, strict" -body { $vtype validate P {} } -returnCodes error -result {Expected a double for T "P", got ""} test vt-${vtype}-validate-2.2 "$vtype validate, ok" -body { $vtype validate P 33.33 } -result 33.33 test vt-${vtype}-validate-2.3 "$vtype validate, ok, int" -body { $vtype validate P 10 } -result 10 test vt-${vtype}-validate-2.4 "$vtype validate, ok, negative" -body { $vtype validate P -2.5 } -result -2.5 # # ## ### ##### ######## ############# ##################### cleanupTests return |
Added tests/v_identity.test.
> > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | # -*- tcl -*- tcl.tk//DSL tcltest//EN//2.0 # # ## ### ##### ######## ############# ##################### ## Testing the cmdr::validate package (sub: identity). kt check Tcl 8.5 kt check tcltest 2 kt require support debug kt require support debug::caller kt local support cmdr::validate::common kt local testing cmdr::validate # # ## ### ##### ######## ############# ##################### ## Basic API. set vtype cmdr::validate::identity set vtdef {} kt source vtype.tcl # # ## ### ##### ######## ############# ##################### ## Specific behaviour # # ## ### ##### ######## ############# ##################### cleanupTests return |
Added tests/v_integer.test.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 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 45 46 47 48 49 50 | # -*- tcl -*- tcl.tk//DSL tcltest//EN//2.0 # # ## ### ##### ######## ############# ##################### ## Testing the cmdr::validate package (sub: integer). kt check Tcl 8.5 kt check tcltest 2 kt require support debug kt require support debug::caller kt local support cmdr::validate::common kt local testing cmdr::validate # # ## ### ##### ######## ############# ##################### ## Basic API. set vtype cmdr::validate::integer set vtdef 0 kt source vtype.tcl # # ## ### ##### ######## ############# ##################### ## Specific behaviour - validation test vt-${vtype}-validate-2.0 "$vtype validate, fail" -body { $vtype validate P bogus } -returnCodes error -result {Expected an integer for T "P", got "bogus"} test vt-${vtype}-validate-2.1 "$vtype validate, fail, strict" -body { $vtype validate P {} } -returnCodes error -result {Expected an integer for T "P", got ""} test vt-${vtype}-validate-2.2 "$vtype validate, ok, decimal" -body { $vtype validate P 33 } -result 33 test vt-${vtype}-validate-2.3 "$vtype validate, ok, octal" -body { $vtype validate P 010 } -result 8 test vt-${vtype}-validate-2.4 "$vtype validate, ok, hex" -body { $vtype validate P 0xff } -result 255 test vt-${vtype}-validate-2.5 "$vtype validate, ok, negative" -body { $vtype validate P -2 } -result -2 # # ## ### ##### ######## ############# ##################### cleanupTests return |
Added tests/v_percent.test.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 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 45 46 47 48 49 50 51 52 53 | # -*- tcl -*- tcl.tk//DSL tcltest//EN//2.0 # # ## ### ##### ######## ############# ##################### ## Testing the cmdr::validate package (sub: percent). kt check Tcl 8.5 kt check tcltest 2 kt require support debug kt require support debug::caller kt local support cmdr::validate::common kt local testing cmdr::validate # # ## ### ##### ######## ############# ##################### ## Basic API. set vtype cmdr::validate::percent set vtdef 0 kt source vtype.tcl # # ## ### ##### ######## ############# ##################### ## Specific behaviour - validation test vt-${vtype}-validate-2.0 "$vtype validate, fail" -body { $vtype validate P bogus } -returnCodes error -result {Expected a percentage ([0...100]) for T "P", got "bogus"} test vt-${vtype}-validate-2.1 "$vtype validate, fail, strict" -body { $vtype validate P {} } -returnCodes error -result {Expected a percentage ([0...100]) for T "P", got ""} test vt-${vtype}-validate-2.2 "$vtype validate, fail range, up" -body { $vtype validate P 101 } -returnCodes error -result {Expected a percentage ([0...100]) for T "P", got "101"} test vt-${vtype}-validate-2.3 "$vtype validate, fail range, low" -body { $vtype validate P -0.5 } -returnCodes error -result {Expected a percentage ([0...100]) for T "P", got "-0.5"} test vt-${vtype}-validate-2.4 "$vtype validate, ok" -body { $vtype validate P 33 } -result 33 test vt-${vtype}-validate-2.5 "$vtype validate, ok, fractional" -body { $vtype validate P 50.3 } -result 50.3 # # ## ### ##### ######## ############# ##################### ## Specific behaviour # # ## ### ##### ######## ############# ##################### cleanupTests return |
Added tests/v_posint.test.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | # -*- tcl -*- tcl.tk//DSL tcltest//EN//2.0 # # ## ### ##### ######## ############# ##################### ## Testing the cmdr::validate package (sub: posint (integer > 0)). kt check Tcl 8.5 kt check tcltest 2 kt require support debug kt require support debug::caller kt local support cmdr::validate::common kt local testing cmdr::validate::posint # # ## ### ##### ######## ############# ##################### ## Basic API. set vtype cmdr::validate::posint set vtdef 1 kt source vtype.tcl # # ## ### ##### ######## ############# ##################### ## Specific behaviour - validation test vt-${vtype}-validate-2.0 "$vtype validate, fail" -body { $vtype validate P bogus } -returnCodes error -result {Expected a positive integer for T "P", got "bogus"} test vt-${vtype}-validate-2.1 "$vtype validate, fail, strict" -body { $vtype validate P {} } -returnCodes error -result {Expected a positive integer for T "P", got ""} test vt-${vtype}-validate-2.2 "$vtype validate, fail, negative" -body { $vtype validate P -2 } -returnCodes error -result {Expected a positive integer for T "P", got "-2"} test vt-${vtype}-validate-2.3 "$vtype validate, fail, negative" -body { $vtype validate P -1 } -returnCodes error -result {Expected a positive integer for T "P", got "-1"} test vt-${vtype}-validate-2.4 "$vtype validate, fail, zero" -body { $vtype validate P 0 } -returnCodes error -result {Expected a positive integer for T "P", got "0"} test vt-${vtype}-validate-2.5 "$vtype validate, ok, positive" -body { $vtype validate P 1 } -result 1 test vt-${vtype}-validate-2.6 "$vtype validate, ok, decimal" -body { $vtype validate P 33 } -result 33 test vt-${vtype}-validate-2.7 "$vtype validate, ok, octal" -body { $vtype validate P 010 } -result 8 test vt-${vtype}-validate-2.8 "$vtype validate, ok, hex" -body { $vtype validate P 0xff } -result 255 # # ## ### ##### ######## ############# ##################### cleanupTests return |
Added tests/v_rdir.test.
> > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | # -*- tcl -*- tcl.tk//DSL tcltest//EN//2.0 # # ## ### ##### ######## ############# ##################### ## Testing the cmdr::validate package (sub: rdirectory). kt check Tcl 8.5 kt check tcltest 2 kt require support debug kt require support debug::caller kt local support cmdr::validate::common kt local testing cmdr::validate # # ## ### ##### ######## ############# ##################### ## Basic API. set vtype cmdr::validate::rdirectory set vtdef {} kt source vtype.tcl # # ## ### ##### ######## ############# ##################### ## Specific behaviour # # ## ### ##### ######## ############# ##################### cleanupTests return |
Added tests/v_rfile.test.
> > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | # -*- tcl -*- tcl.tk//DSL tcltest//EN//2.0 # # ## ### ##### ######## ############# ##################### ## Testing the cmdr::validate package (sub: rfile). kt check Tcl 8.5 kt check tcltest 2 kt require support debug kt require support debug::caller kt local support cmdr::validate::common kt local testing cmdr::validate # # ## ### ##### ######## ############# ##################### ## Basic API. set vtype cmdr::validate::rfile set vtdef {} kt source vtype.tcl # # ## ### ##### ######## ############# ##################### ## Specific behaviour # # ## ### ##### ######## ############# ##################### cleanupTests return |
Added tests/v_rwdir.test.
> > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | # -*- tcl -*- tcl.tk//DSL tcltest//EN//2.0 # # ## ### ##### ######## ############# ##################### ## Testing the cmdr::validate package (sub: rwdirectory). kt check Tcl 8.5 kt check tcltest 2 kt require support debug kt require support debug::caller kt local support cmdr::validate::common kt local testing cmdr::validate # # ## ### ##### ######## ############# ##################### ## Basic API. set vtype cmdr::validate::rwdirectory set vtdef {} kt source vtype.tcl # # ## ### ##### ######## ############# ##################### ## Specific behaviour # # ## ### ##### ######## ############# ##################### cleanupTests return |
Added tests/v_rwfile.test.
> > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | # -*- tcl -*- tcl.tk//DSL tcltest//EN//2.0 # # ## ### ##### ######## ############# ##################### ## Testing the cmdr::validate package (sub: rwfile). kt check Tcl 8.5 kt check tcltest 2 kt require support debug kt require support debug::caller kt local support cmdr::validate::common kt local testing cmdr::validate # # ## ### ##### ######## ############# ##################### ## Basic API. set vtype cmdr::validate::rwfile set vtdef {} kt source vtype.tcl # # ## ### ##### ######## ############# ##################### ## Specific behaviour # # ## ### ##### ######## ############# ##################### cleanupTests return |
Added tests/v_time_minute.test.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | # -*- tcl -*- tcl.tk//DSL tcltest//EN//2.0 # # ## ### ##### ######## ############# ##################### ## Testing the cmdr::validate package (sub: posint (integer > 0)). kt check Tcl 8.5 kt check tcltest 2 kt require support debug kt require support debug::caller kt local support cmdr::validate::common kt local testing cmdr::validate::time::minute # # ## ### ##### ######## ############# ##################### ## Basic API. set vtype cmdr::validate::time::minute set vtdef [expr {([clock seconds] / 60) % 1440}] ;# (**) kt source vtype.tcl # (Ad **) Possible race condition here if the tests cross a minute # boundary (59 -> 00). Then a bogus failure may appear in the standard # API tests. # # ## ### ##### ######## ############# ##################### ## Specific behaviour - validation test vt-${vtype}-validate-2.0 "$vtype validate, fail" -body { $vtype validate P bogus } -returnCodes error -result {Expected a time to the minute for T "P", got "bogus"} test vt-${vtype}-validate-2.1 "$vtype validate, fail, strict" -body { $vtype validate P {} } -returnCodes error -result {Expected a time to the minute for T "P", got ""} test vt-${vtype}-validate-2.2 "$vtype validate, fail, negative" -body { $vtype validate P -2 } -returnCodes error -result {Expected a time to the minute for T "P", got "-2"} test vt-${vtype}-validate-2.3 "$vtype validate, fail, negative" -body { $vtype validate P -1 } -returnCodes error -result {Expected a time to the minute for T "P", got "-1"} test vt-${vtype}-validate-2.4 "$vtype validate, fail, " -body { $vtype validate P -1:-3 } -returnCodes error -result {Expected a time to the minute for T "P", got "-1:-3"} test vt-${vtype}-validate-2.5 "$vtype validate, fail, " -body { $vtype validate P -1:23 } -returnCodes error -result {Expected a time to the minute for T "P", got "-1:23"} # # ## ### ##### ######## ############# ##################### ## Valid inputs, minute offset and hour:minute data foreach {n expected input external} { 0 0 0 00:00 1 0 00:00 00:00 2 180 180 03:00 3 180 03:00 03:00 4 251 251 04:11 5 251 04:11 04:11 6 0 1440 00:00 7 1 1441 00:01 8 1234 1234 20:34 9 1234 20:34 20:34 10 564 33:24 09:24 } { test vt-${vtype}-validate-3.$n "$vtype validate, ok $input" -body { $vtype validate P $input } -result $expected # # ## ### ##### ######## ############# ##################### test vt-${vtype}-2external-4.$n "$vtype 2external $expected" -body { $vtype 2external $expected } -result $external } test vt-${vtype}-validate-5.0 "$vtype validate, ok, octal" -body { $vtype validate P 010 } -result 8 test vt-${vtype}-validate-5.1 "$vtype validate, ok, hex" -body { $vtype validate P 0xff } -result 255 # # ## ### ##### ######## ############# ##################### cleanupTests return |
Added tests/v_weekday.test.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | # -*- tcl -*- tcl.tk//DSL tcltest//EN//2.0 # # ## ### ##### ######## ############# ##################### ## Testing the cmdr::validate package (ISO year number). kt check Tcl 8.5 kt check tcltest 2 kt require support debug kt require support debug::caller kt local support cmdr::validate::common kt local testing cmdr::validate::weekday # # ## ### ##### ######## ############# ##################### ## Basic API. set vtype cmdr::validate::weekday set vtdef [clock format [clock seconds] -format %u] ;# current weekday. [**] kt source vtype.tcl # (Ad **): Race condition possible in the tests, here. If the tests # are run across a day border (23:59 -> 00:00) bogus failure will # appear in the standard API tests. # # ## ### ##### ######## ############# ##################### ## Specific behaviour - validation ## Inputs: 0-sun,1...6,7-sun ## long an short names. test vt-${vtype}-validate-2.0 "$vtype validate, fail" -body { $vtype validate P bogus } -returnCodes error -result {Expected a weekday for T "P", got "bogus"} test vt-${vtype}-validate-2.1 "$vtype validate, fail, strict" -body { $vtype validate P {} } -returnCodes error -result {Expected a weekday for T "P", got ""} test vt-${vtype}-validate-2.2 "$vtype validate, fail, octal" -body { $vtype validate P 010 } -returnCodes error -result {Expected a weekday for T "P", got "010"} test vt-${vtype}-validate-2.3 "$vtype validate, fail, hex" -body { $vtype validate P 0xff } -returnCodes error -result {Expected a weekday for T "P", got "0xff"} test vt-${vtype}-validate-2.4 "$vtype validate, fail, negative" -body { $vtype validate P -2 } -returnCodes error -result {Expected a weekday for T "P", got "-2"} test vt-${vtype}-validate-2.5 "$vtype validate, fail, negative" -body { $vtype validate P -1 } -returnCodes error -result {Expected a weekday for T "P", got "-1"} test vt-${vtype}-validate-2.6 "$vtype validate, fail, too large" -body { $vtype validate P 8 } -returnCodes error -result {Expected a weekday for T "P", got "8"} # # ## ### ##### ######## ############# ##################### foreach {wdaye wdayi shortname longname} { 0 7 sun sunday 1 1 mon monday 2 2 tue tuesday 3 3 wed wednesday 4 4 thu thursday 5 5 fri friday 6 6 sat saturday 7 7 sun sunday } { test vt-${vtype}-validate-3.$wdaye "$vtype validate, ok, weekday number" -body { $vtype validate P $wdaye } -result $wdayi test vt-${vtype}-validate-4.$wdaye "$vtype validate, ok, short weekday name" -body { $vtype validate P $shortname } -result $wdayi test vt-${vtype}-validate-5.$wdaye "$vtype validate, ok, long weekday name" -body { $vtype validate P $longname } -result $wdayi # # ## ### ##### ######## ############# ##################### test vt-${vtype}-2external-6.$wdaye "$vtype 2external, ok, long weekday name" -body { $vtype 2external $wdayi } -result [string totitle $longname] } # # ## ### ##### ######## ############# ##################### cleanupTests return |
Added tests/v_wfile.test.
> > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | # -*- tcl -*- tcl.tk//DSL tcltest//EN//2.0 # # ## ### ##### ######## ############# ##################### ## Testing the cmdr::validate package (sub: wfile). kt check Tcl 8.5 kt check tcltest 2 kt require support debug kt require support debug::caller kt local support cmdr::validate::common kt local testing cmdr::validate # # ## ### ##### ######## ############# ##################### ## Basic API. set vtype cmdr::validate::wfile set vtdef {} kt source vtype.tcl # # ## ### ##### ######## ############# ##################### ## Specific behaviour # # ## ### ##### ######## ############# ##################### cleanupTests return |
Added tests/v_year.test.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | # -*- tcl -*- tcl.tk//DSL tcltest//EN//2.0 # # ## ### ##### ######## ############# ##################### ## Testing the cmdr::validate package (ISO year number). kt check Tcl 8.5 kt check tcltest 2 kt require support debug kt require support debug::caller kt local support cmdr::validate::common kt local testing cmdr::validate::year # # ## ### ##### ######## ############# ##################### ## Basic API. set vtype cmdr::validate::year set vtdef [clock format [clock seconds] -format %Y] ;# current year. [**] kt source vtype.tcl # (Ad **): Race condition possible in the tests, here. If the tests # are run across a tear border (Dec 31 into Jan 1 Midnight) bogus # failure will appear in the standard API tests. # # ## ### ##### ######## ############# ##################### ## Specific behaviour - validation ## Print table of short years, to determine where the border ## current/previous lies. # for {set i 0} {$i <99} {incr i} { puts "SHORT $i == [$vtype validate P $i]" } # Border 37/38 test vt-${vtype}-validate-2.0 "$vtype validate, fail" -body { $vtype validate P bogus } -returnCodes error -result {Expected a year for T "P", got "bogus"} test vt-${vtype}-validate-2.1 "$vtype validate, fail, strict" -body { $vtype validate P {} } -returnCodes error -result {Expected a year for T "P", got ""} test vt-${vtype}-validate-2.2 "$vtype validate, fail, octal" -body { $vtype validate P 010 } -returnCodes error -result {Expected a year for T "P", got "010"} test vt-${vtype}-validate-2.3 "$vtype validate, fail, hex" -body { $vtype validate P 0xff } -returnCodes error -result {Expected a year for T "P", got "0xff"} test vt-${vtype}-validate-2.4 "$vtype validate, fail, negative" -body { $vtype validate P -2 } -returnCodes error -result {Expected a year for T "P", got "-2"} test vt-${vtype}-validate-2.5 "$vtype validate, fail, negative" -body { $vtype validate P -1 } -returnCodes error -result {Expected a year for T "P", got "-1"} test vt-${vtype}-validate-2.6 "$vtype validate, fail, neither short nor long year" -body { $vtype validate P 333 } -returnCodes error -result {Expected a year for T "P", got "333"} test vt-${vtype}-validate-2.7 "$vtype validate, fail, neither short nor long year" -body { $vtype validate P 33333 } -returnCodes error -result {Expected a year for T "P", got "33333"} # # ## ### ##### ######## ############# ##################### test vt-${vtype}-validate-2.8 "$vtype validate, ok, zero, short year, current century" -body { $vtype validate P 0 } -result 2000 test vt-${vtype}-validate-2.9 "$vtype validate, ok, positive, short year, current century" -body { $vtype validate P 1 } -result 2001 test vt-${vtype}-validate-2.10 "$vtype validate, ok, positive, short year, current century" -body { $vtype validate P 33 } -result 2033 test vt-${vtype}-validate-2.11 "$vtype validate, ok, positive, short year, previous century" -body { $vtype validate P 37 } -result 2037 test vt-${vtype}-validate-2.12 "$vtype validate, ok, positive, short year, previous century" -body { $vtype validate P 38 } -result 1938 test vt-${vtype}-validate-2.13 "$vtype validate, ok, positive, short year, previous century" -body { $vtype validate P 99 } -result 1999 test vt-${vtype}-validate-2.14 "$vtype validate, ok, positive, long year" -body { $vtype validate P 1923 } -result 1923 # # ## ### ##### ######## ############# ##################### cleanupTests return |
Added tests/vtype.tcl.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | # -*- tcl -*- tcl.tk//DSL tcltest--template//EN//2.0 # # ## ### ##### ######## ############# ##################### ## Testing a validation type. # Sourced from the actual .test file and parameterized with the main # ensemble command of the validation type. This file only tests the # standard part of the API for the type, i.e. the command # signatures. The actual validation, completion, etc. must be tested # by the caller, as that changes from type to type. # # File API variables # # - "vtype" - Command for the validation type. # - "vtdef" - Default value of the validation type. # - "vtparm" - Name of the parameter variable used by all VT API commands. # - "vtval" - Name of the value variable used by the all VT API commands except "default". # # The last two can be left unspecified, and will default to "p" and "x", respectively. # The first two must be defined. if {![info exists vtparm]} { set vtparm p } if {![info exists vtval]} { set vtval x } if {![info exists vtype]} { # TODO: kt ... - Abort testsuite } if {![info exists vtdef]} { # TODO: kt ... - Abort testsuite } # # ## ### ##### ######## ############# ##################### ## Pseudo/Fake parameter object to satisfy a validation type. ## More specifically the command used inside to generate failure ## messages. namespace eval P { namespace export type the-name namespace ensemble create proc type {} { return T } proc the-name {} { return P } } # # ## ### ##### ######## ############# ##################### ## default test vt-${vtype}-default-1.0 "$vtype default, wrong args, not enough" -body { $vtype default } -returnCodes error -result "wrong # args: should be \"$vtype default $vtparm\"" test vt-${vtype}-default-1.1 "$vtype default, wrong args, too many" -body { $vtype default P X } -returnCodes error -result "wrong # args: should be \"$vtype default $vtparm\"" test vt-${vtype}-default-2.0 "$vtype default, value" -body { $vtype default P } -result $vtdef # # ## ### ##### ######## ############# ##################### ## validate test vt-${vtype}-validate-1.0 "$vtype validate, wrong args, not enough" -body { $vtype validate } -returnCodes error -result "wrong # args: should be \"$vtype validate $vtparm $vtval\"" test vt-${vtype}-validate-1.1 "$vtype validate, wrong args, not enough" -body { $vtype validate P } -returnCodes error -result "wrong # args: should be \"$vtype validate $vtparm $vtval\"" test vt-${vtype}-validate-1.2 "$vtype validate, wrong args, too many" -body { $vtype validate P V X } -returnCodes error -result "wrong # args: should be \"$vtype validate $vtparm $vtval\"" # # ## ### ##### ######## ############# ##################### ## complete test vt-${vtype}-complete-1.0 "$vtype complete, wrong args, not enough" -body { $vtype complete } -returnCodes error -result "wrong # args: should be \"$vtype complete $vtparm $vtval\"" test vt-${vtype}-complete-1.1 "$vtype complete, wrong args, not enough" -body { $vtype complete P } -returnCodes error -result "wrong # args: should be \"$vtype complete $vtparm $vtval\"" test vt-${vtype}-complete-1.2 "$vtype complete, wrong args, too many" -body { $vtype complete P V X } -returnCodes error -result "wrong # args: should be \"$vtype complete $vtparm $vtval\"" # # ## ### ##### ######## ############# ##################### ## release test vt-${vtype}-release-1.0 "$vtype release, wrong args, not enough" -body { $vtype release } -returnCodes error -result "wrong # args: should be \"$vtype release $vtparm $vtval\"" test vt-${vtype}-release-1.1 "$vtype release, wrong args, not enough" -body { $vtype release P } -returnCodes error -result "wrong # args: should be \"$vtype release $vtparm $vtval\"" test vt-${vtype}-release-1.2 "$vtype release, wrong args, too many" -body { $vtype release P V X } -returnCodes error -result "wrong # args: should be \"$vtype release $vtparm $vtval\"" # # ## ### ##### ######## ############# ##################### ## return |
Changes to vt_time.tcl.
1 2 3 4 5 6 7 8 9 | ## -*- tcl -*- # # ## ### ##### ######## ############# ##################### ## CMDR - Validate::Time - Supporting validation type - iso times. # @@ Meta Begin # Package cmdr::validate::time 1 # Meta author {Andreas Kupries} # Meta location https://core.tcl.tk/akupries/cmdr # Meta platform tcl | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | ## -*- tcl -*- # # ## ### ##### ######## ############# ##################### ## CMDR - Validate::Time - Supporting validation type - iso times. # @@ Meta Begin # Package cmdr::validate::time 1 # Meta author {Andreas Kupries} # Meta location https://core.tcl.tk/akupries/cmdr # Meta platform tcl # Meta summary Standard parameter validation type for times (down to seconds) # Meta description Standard parameter validation type for times (down to seconds) # Meta subject {command line} # Meta require {Tcl 8.5-} # Meta require {cmdr::validate::common 1.2} # Meta require debug # Meta require debug::caller # Meta require try # Meta require clock::iso8601 |
︙ | ︙ |
Added vt_time_minute.tcl.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | ## -*- tcl -*- # # ## ### ##### ######## ############# ##################### ## CMDR - Validate::Time::Minute - Supporting validation type - iso times limited to minutes. # @@ Meta Begin # Package cmdr::validate::time::minute 1 # Meta author {Andreas Kupries} # Meta location https://core.tcl.tk/akupries/cmdr # Meta platform tcl # Meta summary Standard parameter validation type for times (down to minutes) # Meta description Standard parameter validation type for times (down to minutes) # Meta subject {command line} # Meta require {Tcl 8.5-} # Meta require {cmdr::validate::common 1.2} # Meta require debug # Meta require debug::caller # Meta require try # Meta require clock::iso8601 # @@ Meta End # # ## ### ##### ######## ############# ##################### ## Requisites package require Tcl 8.5 package require cmdr::validate::common 1.2 package require debug package require debug::caller package require clock::iso8601 package require try # # ## ### ##### ######## ############# ##################### ## Definition namespace eval ::cmdr { namespace export validate namespace ensemble create } namespace eval ::cmdr::validate { namespace export time namespace ensemble create } namespace eval ::cmdr::validate::time { namespace export minute namespace ensemble create } namespace eval ::cmdr::validate::time::minute { namespace export default validate complete release 2external namespace ensemble create namespace import ::cmdr::validate::common::fail } # # ## ### ##### ######## ############# ##################### debug define cmdr/validate/time/minute debug level cmdr/validate/time/minute debug prefix cmdr/validate/time/minute {[debug caller] | } # # ## ### ##### ######## ############# ##################### ## Times as parsed by clock::iso86 proc ::cmdr::validate::time::minute::2external {x} { debug.cmdr/validate/time/minute {} # x in [0..1440) => [0..86400) seconds. return [clock format [expr {$x * 60 + [DayBase]}] -format {%H:%M}] } proc ::cmdr::validate::time::minute::release {p x} { return } proc ::cmdr::validate::time::minute::default {p} { debug.cmdr/validate/time/minute {} # Today, limited to the minute from midnight return [expr {([clock seconds] / 60) % 1440}] } proc ::cmdr::validate::time::minute::complete {p x} { debug.cmdr/validate/time/minute {} 10 # No completion. return {} } proc ::cmdr::validate::time::minute::validate {p x} { debug.cmdr/validate/time/minute {} try { if {[string is integer -strict $x] && ($x >= 0)} { # Integer, direct offset from midnight, force range. set minoffset [expr {$x % 1440}] } else { # TODO: error code in clock::iso8601. set minoffset [expr {(([clock::iso8601 parse_time ${x}:00] - [DayBase]) / 60) % 1440}] } } on error {e o} { fail $p TIME "a time to the minute" $x } return $minoffset } proc ::cmdr::validate::time::minute::DayBase {} { clock::iso8601 parse_time 00:00:00 } # # ## ### ##### ######## ############# ##################### ## Ready package provide cmdr::validate::time::minute 1 return |
Changes to vt_weekday.tcl.
︙ | ︙ | |||
74 75 76 77 78 79 80 81 82 83 84 85 86 87 | # Accept short and long weekday names, and weekday numbers 0-7. # Sunday can be either 0, or 7. set xa [string tolower $x] foreach pattern {%A %a %u %w} { try { set epoch [clock scan $xa -format $pattern] } trap {CLOCK badInputString} {e o} { continue } on ok {e o} { # We have an epoch value. # Format it back to a numeric weekday (1->monday, 7->sunday). # (iso8601) return [clock format $epoch -format %u] | > > | 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | # Accept short and long weekday names, and weekday numbers 0-7. # Sunday can be either 0, or 7. set xa [string tolower $x] foreach pattern {%A %a %u %w} { try { set epoch [clock scan $xa -format $pattern] } trap {CLOCK badDayOfWeek} {e o} { continue } trap {CLOCK badInputString} {e o} { continue } on ok {e o} { # We have an epoch value. # Format it back to a numeric weekday (1->monday, 7->sunday). # (iso8601) return [clock format $epoch -format %u] |
︙ | ︙ |
Changes to vt_year.tcl.
︙ | ︙ | |||
47 48 49 50 51 52 53 | # # ## ### ##### ######## ############# ##################### debug define cmdr/validate/year debug level cmdr/validate/year debug prefix cmdr/validate/year {[debug caller] | } # # ## ### ##### ######## ############# ##################### | | | 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | # # ## ### ##### ######## ############# ##################### debug define cmdr/validate/year debug level cmdr/validate/year debug prefix cmdr/validate/year {[debug caller] | } # # ## ### ##### ######## ############# ##################### ## Years as parsed by clock::iso8601 proc ::cmdr::validate::year::release {p x} { return } proc ::cmdr::validate::year::default {p} { debug.cmdr/validate/year {} # Year of today. return [clock format [clock seconds] -format %Y] } |
︙ | ︙ |