cmdr
Check-in [dec47d85c3]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Merged VT work from trunk and vt-minute. Updated bool/percent failure messages.
Timelines: family | ancestors | descendants | both | vtype-testing
Files: files | file ages | folders
SHA1: dec47d85c3c757f444e09746752e7d82f4c1df23
User & Date: aku 2015-07-03 04:23:25.964
Context
2015-07-03
04:37
Flipped tests for weekday and year, were swapped. check-in: 0afbe6cc28 user: aku tags: vtype-testing
04:23
Merged VT work from trunk and vt-minute. Updated bool/percent failure messages. check-in: dec47d85c3 user: aku tags: vtype-testing
04:20
Expanded VT testing. check-in: c502011735 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
Changes
Unified Diff Ignore Whitespace Patch
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
40

41
42
43
44
45
46
47
[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"]

[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]







|
>







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
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
.SH SYNOPSIS
package require \fBtry \fR
.sp
package require \fBclock::iso8601 \fR
.sp
package require \fBcmdr::validate::common \fR
.sp







|







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
373



374
375
376
377
378
379
380
\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



.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







|
>
>
>







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
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 &quot;Cmdr, a framework for command line parsing and dispatch&quot;</h1>
<div id="name" class="section"><h2><a name="name">Name</a></h2>
<p>cmdr::validate::time - Cmdr - Validation type for times</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>







|







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 &quot;Cmdr, a framework for command line parsing and dispatch&quot;</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 &copy; 2013-2015 Andreas Kupries   -- Copyright &copy; 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 &quot;Cmdr, a framework for command line parsing and dispatch&quot;</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 &quot;now&quot; 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 &copy; 2013-2015 Andreas Kupries<br>
Copyright &copy; 2013-2015 Documentation, Andreas Kupries</p>
</div>
</div></body></html>
Changes to embedded/www/doc/toc.html.
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
</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</td>
</tr>
<tr class="#tocodd"  >




<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="#toceven" >
<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="#tocodd"  >
<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="#toceven" >
<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="#tocodd"  >
<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>







|


>
>
>
>



|



|



|



|





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
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> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_history.html"> cmdr::history </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <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> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_history.html"> cmdr::history </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <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> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_history.html"> cmdr::history </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <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> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_history.html"> cmdr::history </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <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> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_history.html"> cmdr::history </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <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> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_history.html"> cmdr::history </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <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> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_history.html"> cmdr::history </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <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> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_history.html"> cmdr::history </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <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> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_history.html"> cmdr::history </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <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> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_history.html"> cmdr::history </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <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> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_history.html"> cmdr::history </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <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> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_history.html"> cmdr::history </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <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> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_history.html"> cmdr::history </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <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> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_history.html"> cmdr::history </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <a href="doc/files/cmdr_dev_dsl.html"> cmdr_dev~dsl </a>
</td></tr>
</table>
</body></html>







|







|




|




|




|







|







|




|







|







|




|







|




|







|



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> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_history.html"> cmdr::history </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_time_minute.html"> cmdr::validate::time::minute </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <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> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_history.html"> cmdr::history </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_time_minute.html"> cmdr::validate::time::minute </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <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> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_history.html"> cmdr::history </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_time_minute.html"> cmdr::validate::time::minute </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <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> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_history.html"> cmdr::history </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_time_minute.html"> cmdr::validate::time::minute </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <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> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_history.html"> cmdr::history </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_time_minute.html"> cmdr::validate::time::minute </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <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> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_history.html"> cmdr::history </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_time_minute.html"> cmdr::validate::time::minute </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <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> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_history.html"> cmdr::history </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_time_minute.html"> cmdr::validate::time::minute </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <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> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_history.html"> cmdr::history </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_time_minute.html"> cmdr::validate::time::minute </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <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> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_history.html"> cmdr::history </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_time_minute.html"> cmdr::validate::time::minute </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <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> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_history.html"> cmdr::history </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_time_minute.html"> cmdr::validate::time::minute </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <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> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_history.html"> cmdr::history </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_time_minute.html"> cmdr::validate::time::minute </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <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> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_history.html"> cmdr::history </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_time_minute.html"> cmdr::validate::time::minute </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <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> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_history.html"> cmdr::history </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_time_minute.html"> cmdr::validate::time::minute </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <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> &#183; <a href="doc/files/cmdr_changes.html"> cmdr-changes </a> &#183; <a href="doc/files/cmdr_howto_get_sources.html"> cmdr-howto-get-sources </a> &#183; <a href="doc/files/cmdr_howto_installation.html"> cmdr-installation </a> &#183; <a href="doc/files/cmdr_introduction.html"> cmdr-introduction </a> &#183; <a href="doc/files/cmdr_license.html"> cmdr-license </a> &#183; <a href="doc/files/cmdr_dsl.html"> cmdr-spec-dsl </a> &#183; <a href="doc/files/cmdr_dsl_officer.html"> cmdr-spec-dsl-officer </a> &#183; <a href="doc/files/cmdr_dsl_parameter.html"> cmdr-spec-dsl-parameter </a> &#183; <a href="doc/files/cmdr_dsl_private.html"> cmdr-spec-dsl-private </a> &#183; <a href="doc/files/cmdr_flow.html"> cmdr-spec-flow </a> &#183; <a href="doc/files/cmdr_helpformats.html"> cmdr-user-helpformats </a> &#183; <a href="doc/files/cmdr_vtypes.html"> cmdr-user-vtypes </a> &#183; <a href="doc/files/cmdr_actor.html"> cmdr::actor </a> &#183; <a href="doc/files/cmdr_ask.html"> cmdr::ask </a> &#183; <a href="doc/files/cmdr_color.html"> cmdr::color </a> &#183; <a href="doc/files/cmdr_config.html"> cmdr::config </a> &#183; <a href="doc/files/cmdr_help.html"> cmdr::help </a> &#183; <a href="doc/files/cmdr_help_json.html"> cmdr::help::json </a> &#183; <a href="doc/files/cmdr_help_sql.html"> cmdr::help::sql </a> &#183; <a href="doc/files/cmdr_help_tcl.html"> cmdr::help::tcl </a> &#183; <a href="doc/files/cmdr_history.html"> cmdr::history </a> &#183; <a href="doc/files/cmdr_officer.html"> cmdr::officer </a> &#183; <a href="doc/files/cmdr_pager.html"> cmdr::pager </a> &#183; <a href="doc/files/cmdr_parameter.html"> cmdr::parameter </a> &#183; <a href="doc/files/cmdr_private.html"> cmdr::private </a> &#183; <a href="doc/files/cmdr_tty.html"> cmdr::tty </a> &#183; <a href="doc/files/cmdr_util.html"> cmdr::util </a> &#183; <a href="doc/files/cmdr_validate.html"> cmdr::validate </a> &#183; <a href="doc/files/cmdr_vcommon.html"> cmdr::validate::common </a> &#183; <a href="doc/files/cmdr_vt_date.html"> cmdr::validate::date </a> &#183; <a href="doc/files/cmdr_vt_posint.html"> cmdr::validate::posint </a> &#183; <a href="doc/files/cmdr_vt_time.html"> cmdr::validate::time </a> &#183; <a href="doc/files/cmdr_vt_time_minute.html"> cmdr::validate::time::minute </a> &#183; <a href="doc/files/cmdr_vt_weekday.html"> cmdr::validate::weekday </a> &#183; <a href="doc/files/cmdr_vt_year.html"> cmdr::validate::year </a> &#183; <a href="doc/files/cmdr_howto_development.html"> cmdr_development </a> &#183; <a href="doc/files/cmdr_dev_completion.html"> cmdr_dev~completion </a> &#183; <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
146
147
148




149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
</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</td>
</tr>
<tr class="#tocodd"  >




<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="#toceven" >
<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="#tocodd"  >
<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="#toceven" >
<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="#tocodd"  >
<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>







|


>
>
>
>



|



|



|



|





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>
Changes to tests/v_boolean.test.
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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 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







|







19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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
Changes to tests/v_percent.test.
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
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 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 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 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 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







|



|



|



|







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
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
Changes to validate.tcl.
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85

proc ::cmdr::validate::boolean::validate {p x} {
    debug.cmdr/validate {}
    if {[string is boolean -strict $x]} {
	# Double inverse keeps value, and makes it canonical.
	return [expr {!!$x}]
    }
    fail $p BOOLEAN "a boolean" $x
}

# # ## ### ##### ######## ############# #####################
## Any integer

namespace eval ::cmdr::validate::integer {
    namespace export default validate complete release







|







71
72
73
74
75
76
77
78
79
80
81
82
83
84
85

proc ::cmdr::validate::boolean::validate {p x} {
    debug.cmdr/validate {}
    if {[string is boolean -strict $x]} {
	# Double inverse keeps value, and makes it canonical.
	return [expr {!!$x}]
    }
    fail $p BOOLEAN "a boolean (yes, no, false, true, on, off, 0, or 1)" $x
}

# # ## ### ##### ######## ############# #####################
## Any integer

namespace eval ::cmdr::validate::integer {
    namespace export default validate complete release
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
    return {}
}
proc ::cmdr::validate::percent::validate {p x} {
    debug.cmdr/validate {}
    if {[string is double -strict $x] &&
	($x >= 0) &&
	($x <= 100)} { return $x }
    fail $p PERCENT "a percentage" $x
}

# # ## ### ##### ######## ############# #####################
## Any string

namespace eval ::cmdr::validate::identity {
    namespace export default validate complete release







|







151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
    return {}
}
proc ::cmdr::validate::percent::validate {p x} {
    debug.cmdr/validate {}
    if {[string is double -strict $x] &&
	($x >= 0) &&
	($x <= 100)} { return $x }
    fail $p PERCENT "a percentage (\[0...100\])" $x
}

# # ## ### ##### ######## ############# #####################
## Any string

namespace eval ::cmdr::validate::identity {
    namespace export default validate complete release
535
536
537
538
539
540
541
542
543
    if {![file readable $path]} {return 0}
    if {![file writable $path]} {return 0}
    return 1
}

# # ## ### ##### ######## ############# #####################
## Ready
package provide cmdr::validate 1.3.1
return







|

535
536
537
538
539
540
541
542
543
    if {![file readable $path]} {return 0}
    if {![file writable $path]} {return 0}
    return 1
}

# # ## ### ##### ######## ############# #####################
## Ready
package provide cmdr::validate 1.3.2
return
Changes to vcommon.tcl.
35
36
37
38
39
40
41
42

43
44
45
46
47
48
49
50
    namespace export common
    namespace ensemble create
}

namespace eval ::cmdr::validate::common {
    namespace export \
	complete-enum complete-glob complete-substr \
	ok-directory lead-in fail fail-unknown-thing \

	fail-known-thing
    namespace ensemble create
}

# # ## ### ##### ######## ############# #####################

debug define cmdr/validate/common
debug level  cmdr/validate/common







|
>
|







35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
    namespace export common
    namespace ensemble create
}

namespace eval ::cmdr::validate::common {
    namespace export \
	complete-enum complete-glob complete-substr \
	ok-directory strip-lead-in lead-in fail \
	fail-unknown-thing fail-unknown-thing-msg fail-unknown-simple fail-unknown-simple-msg \
	fail-known-thing   fail-known-thing-msg   fail-known-simple   fail-known-simple-msg
    namespace ensemble create
}

# # ## ### ##### ######## ############# #####################

debug define cmdr/validate/common
debug level  cmdr/validate/common
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

    append msg "Found a problem with [$p type] \"[$p the-name]\":"
    append msg " [lead-in $type] \"$x\" does not exist$context."
    append msg " Please use a different value."

    return -code error -errorcode [list CMDR VALIDATE {*}$code] $msg
}




































proc ::cmdr::validate::common::fail-known-thing {p code type x {context {}}} {
    # Specific failure for a named thing: Expected non-existence, found a definition.
    debug.cmdr/validate/common {}

    append msg "Found a problem with [$p type] \"[$p the-name]\":"
    append msg " [lead-in $type] named \"$x\" already exists$context."
    append msg " Please use a different name."


































    return -code error -errorcode [list CMDR VALIDATE {*}$code] $msg
}

# # ## ### ##### ######## ############# #####################
## Support commands for construction of messages.

proc ::cmdr::validate::common::lead-in {type} {
    if {[string match {A *}  $type] ||
	[string match {An *} $type]} {
	set lead {}
    } elseif {[string match {[aeiouAEIOU]*} $type]} {
	set lead {An }
    } else {
	set lead {A }
    }
    return $lead$type
}











# # ## ### ##### ######## ############# #####################

proc ::cmdr::validate::common::complete-enum {choices nocase buffer} {
    # As a helper function for command completion printing anything
    # here would mix with the output of linenoise. Do that only on
    # explicit request (level 10).








>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>


















>
>
>
>
>
>
>
>
>
>







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

    append msg "Found a problem with [$p type] \"[$p the-name]\":"
    append msg " [lead-in $type] \"$x\" does not exist$context."
    append msg " Please use a different value."

    return -code error -errorcode [list CMDR VALIDATE {*}$code] $msg
}

proc ::cmdr::validate::common::fail-unknown-thing-msg {usermsg p code type x {context {}}} {
    # Specific failure for a named thing: Expected existence, found it missing.
    # Takes a custom message to place into the error.
    debug.cmdr/validate/common {}

    append msg "Found a problem with [$p type] \"[$p the-name]\":"
    append msg " [lead-in $type] \"$x\" does not exist$context."
    append msg " " $usermsg "."

    return -code error -errorcode [list CMDR VALIDATE {*}$code] $msg
}

proc ::cmdr::validate::common::fail-unknown-simple {p code type x {context {}}} {
    # Specific failure for a named thing: Expected existence, found it missing.
    # Simplified intro, leaving out the parameter information (input|option, name)
    debug.cmdr/validate/common {}

    append msg "[string to-title [strip-lead-in $type]] \"$x\" does not exist$context."
    append msg " Please use a different value."

    return -code error -errorcode [list CMDR VALIDATE {*}$code] $msg
}

proc ::cmdr::validate::common::fail-unknown-simple-msg {usermsg p code type x {context {}}} {
    # Specific failure for a named thing: Expected existence, found it missing.
    # Takes a custom message to place into the error.
    # Simplified intro, leaving out the parameter information (input|option, name)
    debug.cmdr/validate/common {}

    append msg "[string totitle [strip-lead-in $type]] \"$x\" does not exist$context."
    append msg " " $usermsg "."

    return -code error -errorcode [list CMDR VALIDATE {*}$code] $msg
}

proc ::cmdr::validate::common::fail-known-thing {p code type x {context {}}} {
    # Specific failure for a named thing: Expected non-existence, found a definition.
    debug.cmdr/validate/common {}

    append msg "Found a problem with [$p type] \"[$p the-name]\":"
    append msg " [lead-in $type] named \"$x\" already exists$context."
    append msg " Please use a different name."

    return -code error -errorcode [list CMDR VALIDATE {*}$code] $msg
}

proc ::cmdr::validate::common::fail-known-thing-msg {usermsg p code type x {context {}}} {
    # Specific failure for a named thing: Expected non-existence, found a definition.
    debug.cmdr/validate/common {}

    append msg "Found a problem with [$p type] \"[$p the-name]\":"
    append msg " [lead-in $type] named \"$x\" already exists$context."
    append msg " " $usermsg "."

    return -code error -errorcode [list CMDR VALIDATE {*}$code] $msg
}

proc ::cmdr::validate::common::fail-known-simple {p code type x {context {}}} {
    # Specific failure for a named thing: Expected non-existence, found a definition.
    # Simplified intro, leaving out the parameter information (input|option, name)
    debug.cmdr/validate/common {}

    append msg " [string totitle [strip-lead-in $type]] named \"$x\" already exists$context."
    append msg " Please use a different name."

    return -code error -errorcode [list CMDR VALIDATE {*}$code] $msg
}

proc ::cmdr::validate::common::fail-known-simple-msg {usermsg p code type x {context {}}} {
    # Specific failure for a named thing: Expected non-existence, found a definition.
    # Simplified intro, leaving out the parameter information (input|option, name)
    debug.cmdr/validate/common {}

    append msg " [string totitle [strip-lead-in $type]] named \"$x\" already exists$context."
    append msg " " $usermsg "."

    return -code error -errorcode [list CMDR VALIDATE {*}$code] $msg
}

# # ## ### ##### ######## ############# #####################
## Support commands for construction of messages.

proc ::cmdr::validate::common::lead-in {type} {
    if {[string match {A *}  $type] ||
	[string match {An *} $type]} {
	set lead {}
    } elseif {[string match {[aeiouAEIOU]*} $type]} {
	set lead {An }
    } else {
	set lead {A }
    }
    return $lead$type
}

proc ::cmdr::validate::common::strip-lead-in {type} {
    if {[string match {A *} $type]} {
	return [string range $type 2 end]
    } elseif {[string match {An *} $type]} {
	return [string range $type 3 end]
    } else {
	return $type
    }
}

# # ## ### ##### ######## ############# #####################

proc ::cmdr::validate::common::complete-enum {choices nocase buffer} {
    # As a helper function for command completion printing anything
    # here would mix with the output of linenoise. Do that only on
    # explicit request (level 10).
188
189
190
191
192
193
194
195
196
    if {![file isdirectory $path]} {return 0}
    if {![file writable    $path]} {return 0}
    return 1
}

# # ## ### ##### ######## ############# #####################
## Ready
package provide cmdr::validate::common 1.2
return







|

267
268
269
270
271
272
273
274
275
    if {![file isdirectory $path]} {return 0}
    if {![file writable    $path]} {return 0}
    return 1
}

# # ## ### ##### ######## ############# #####################
## Ready
package provide cmdr::validate::common 1.3
return
Changes to vt_time.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
# Meta description Standard parameter validation type for times
# 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









|
|







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
## -*- 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 {}
    return [clock format $x -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] / 60) % 1440}]
	}
    } on error {e o} {
	fail $p TIME "a time to the minute" $x
    } 
    return $minoffset
}

# # ## ### ##### ######## ############# #####################
## Ready
package provide cmdr::validate::time::minute 1
return