cmdparse 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ChangeLog +145 -40
- data/README +2 -2
- data/Rakefile +1 -9
- data/TODO +3 -1
- data/VERSION +1 -1
- data/doc/src/default.css +73 -64
- data/doc/src/default.template +28 -19
- data/doc/src/download.page +34 -0
- data/doc/src/features.page +11 -0
- data/doc/src/index.page +34 -0
- data/doc/src/logo.png +0 -0
- data/doc/src/meta.info +6 -0
- data/lib/cmdparse.rb +38 -15
- metadata +13 -9
- data/doc/src/download.fragment +0 -32
- data/doc/src/features.fragment +0 -8
- data/doc/src/index.fragment +0 -21
- data/doc/src/metainfo.backing +0 -25
data/ChangeLog
CHANGED
|
@@ -1,80 +1,185 @@
|
|
|
1
1
|
------------------------------------------------------------------------
|
|
2
|
-
|
|
2
|
+
r242 | thomas | 2005-04-13 13:42:24 +0200 (Wed, 13 Apr 2005) | 1 line
|
|
3
3
|
Changed paths:
|
|
4
|
-
M /trunk/
|
|
5
|
-
|
|
4
|
+
M /trunk/cmdparse/README
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
------------------------------------------------------------------------
|
|
8
|
+
r241 | thomas | 2005-04-13 13:41:16 +0200 (Wed, 13 Apr 2005) | 3 lines
|
|
9
|
+
Changed paths:
|
|
10
|
+
M /trunk/cmdparse/README
|
|
11
|
+
M /trunk/cmdparse/Rakefile
|
|
12
|
+
M /trunk/cmdparse/TODO
|
|
13
|
+
A /trunk/cmdparse/logo.svg
|
|
14
|
+
M /trunk/cmdparse/test.rb
|
|
15
|
+
|
|
16
|
+
* added logo.svg
|
|
17
|
+
* adapted test.rb
|
|
18
|
+
* minor modifcation in Rakefile
|
|
19
|
+
------------------------------------------------------------------------
|
|
20
|
+
r240 | thomas | 2005-04-13 13:40:39 +0200 (Wed, 13 Apr 2005) | 4 lines
|
|
21
|
+
Changed paths:
|
|
22
|
+
M /trunk/cmdparse/lib/cmdparse.rb
|
|
23
|
+
|
|
24
|
+
* added NoCommandGivenError class
|
|
25
|
+
* renamed class InvalidCommand to InvalidCommandError
|
|
26
|
+
* added option for specifying default command
|
|
27
|
+
* bumped version number to 1.0.1
|
|
28
|
+
------------------------------------------------------------------------
|
|
29
|
+
r239 | thomas | 2005-04-13 13:38:04 +0200 (Wed, 13 Apr 2005) | 3 lines
|
|
30
|
+
Changed paths:
|
|
31
|
+
M /trunk/cmdparse/doc/src/default.css
|
|
32
|
+
M /trunk/cmdparse/doc/src/default.template
|
|
33
|
+
M /trunk/cmdparse/doc/src/download.page
|
|
34
|
+
M /trunk/cmdparse/doc/src/features.page
|
|
35
|
+
M /trunk/cmdparse/doc/src/index.page
|
|
36
|
+
A /trunk/cmdparse/doc/src/logo.png
|
|
37
|
+
M /trunk/cmdparse/doc/src/meta.info
|
|
38
|
+
|
|
39
|
+
* added logo
|
|
40
|
+
* converted pages to use textile markup
|
|
41
|
+
* added news section on homepage
|
|
42
|
+
------------------------------------------------------------------------
|
|
43
|
+
r238 | thomas | 2005-04-13 12:06:31 +0200 (Wed, 13 Apr 2005) | 2 lines
|
|
44
|
+
Changed paths:
|
|
45
|
+
M /trunk/cmdparse/doc/src/default.css
|
|
46
|
+
M /trunk/cmdparse/doc/src/default.template
|
|
47
|
+
D /trunk/cmdparse/doc/src/download.fragment
|
|
48
|
+
A /trunk/cmdparse/doc/src/download.page (from /trunk/cmdparse/doc/src/download.fragment:235)
|
|
49
|
+
D /trunk/cmdparse/doc/src/features.fragment
|
|
50
|
+
A /trunk/cmdparse/doc/src/features.page (from /trunk/cmdparse/doc/src/features.fragment:235)
|
|
51
|
+
D /trunk/cmdparse/doc/src/index.fragment
|
|
52
|
+
A /trunk/cmdparse/doc/src/index.page (from /trunk/cmdparse/doc/src/index.fragment:235)
|
|
53
|
+
A /trunk/cmdparse/doc/src/meta.info (from /trunk/cmdparse/doc/src/metainfo.backing:235)
|
|
54
|
+
D /trunk/cmdparse/doc/src/metainfo.backing
|
|
55
|
+
|
|
56
|
+
* updated documentation pages to webgen 0.3.1
|
|
57
|
+
* added new default.template and css file
|
|
58
|
+
------------------------------------------------------------------------
|
|
59
|
+
r235 | thomas | 2005-04-13 11:17:35 +0200 (Wed, 13 Apr 2005) | 1 line
|
|
60
|
+
Changed paths:
|
|
61
|
+
A /trunk/cmdparse (from /trunk/commandparser:165)
|
|
62
|
+
|
|
63
|
+
* renamed commandparser dir to cmdparse
|
|
64
|
+
------------------------------------------------------------------------
|
|
65
|
+
r165 | thomas | 2005-01-13 17:33:02 +0100 (Thu, 13 Jan 2005) | 1 line
|
|
66
|
+
Changed paths:
|
|
67
|
+
D /temp
|
|
68
|
+
A /trunk (from /temp:163)
|
|
69
|
+
|
|
70
|
+
add finally arrived at the destination
|
|
71
|
+
------------------------------------------------------------------------
|
|
72
|
+
r163 | thomas | 2005-01-13 17:31:39 +0100 (Thu, 13 Jan 2005) | 1 line
|
|
73
|
+
Changed paths:
|
|
74
|
+
A /temp
|
|
75
|
+
A /temp/commandparser (from /trunk/commandparser/trunk:162)
|
|
76
|
+
A /temp/programs (from /trunk/miscprograms/trunk:162)
|
|
77
|
+
A /temp/rubyquiz (from /trunk/rubyquiz:162)
|
|
78
|
+
A /temp/webgen (from /trunk/webgen/trunk:162)
|
|
79
|
+
A /temp/xmlresume2x (from /trunk/xmlresume2x/trunk:162)
|
|
80
|
+
D /trunk/commandparser/trunk
|
|
81
|
+
D /trunk/miscprograms/trunk
|
|
82
|
+
D /trunk/rubyquiz
|
|
83
|
+
D /trunk/webgen/trunk
|
|
84
|
+
D /trunk/webgen/versions/webgen-0.1.0
|
|
85
|
+
D /trunk/webgen/versions/webgen-0.2.0
|
|
86
|
+
D /trunk/xmlresume2x/trunk
|
|
87
|
+
D /trunk/xmlresume2x/versions/xmlresume2x-0.1.0
|
|
88
|
+
D /trunk/xmlresume2x/versions/xmlresume2x-0.2.0
|
|
89
|
+
D /trunk/xmlresume2x/versions/xmlresume2x-0.2.1
|
|
90
|
+
A /versions
|
|
91
|
+
A /versions/webgen-0.1.0 (from /trunk/webgen/versions/webgen-0.1.0:162)
|
|
92
|
+
A /versions/webgen-0.2.0 (from /trunk/webgen/versions/webgen-0.2.0:162)
|
|
93
|
+
A /versions/xmlresume2x-0.1.0 (from /trunk/xmlresume2x/versions/xmlresume2x-0.1.0:162)
|
|
94
|
+
A /versions/xmlresume2x-0.2.0 (from /trunk/xmlresume2x/versions/xmlresume2x-0.2.0:162)
|
|
95
|
+
A /versions/xmlresume2x-0.2.1 (from /trunk/xmlresume2x/versions/xmlresume2x-0.2.1:162)
|
|
96
|
+
|
|
97
|
+
moved stuff around and around
|
|
98
|
+
------------------------------------------------------------------------
|
|
99
|
+
r14 | thomas | 2004-09-30 17:54:54 +0200 (Thu, 30 Sep 2004) | 2 lines
|
|
100
|
+
Changed paths:
|
|
101
|
+
M /trunk/commandparser/trunk/lib/cmdparse.rb
|
|
102
|
+
M /trunk/commandparser/trunk/test.rb
|
|
103
|
+
|
|
104
|
+
* added the directory lib to the loadpath of test.rb
|
|
105
|
+
* the "--help" and "-h" global options now take a command as optional argument
|
|
106
|
+
------------------------------------------------------------------------
|
|
107
|
+
r12 | thomas | 2004-09-27 18:46:38 +0200 (Mon, 27 Sep 2004) | 1 line
|
|
108
|
+
Changed paths:
|
|
109
|
+
M /trunk/commandparser/trunk/Rakefile
|
|
110
|
+
M /trunk/commandparser/trunk/doc/src/download.fragment
|
|
6
111
|
|
|
7
112
|
* corrected an error in the <Download> page and in the Rakefile
|
|
8
113
|
------------------------------------------------------------------------
|
|
9
|
-
|
|
114
|
+
r10 | thomas | 2004-09-27 18:22:39 +0200 (Mon, 27 Sep 2004) | 3 lines
|
|
10
115
|
Changed paths:
|
|
11
|
-
M /trunk/Rakefile
|
|
12
|
-
M /trunk/doc/src/default.template
|
|
13
|
-
M /trunk/lib/cmdparse.rb
|
|
116
|
+
M /trunk/commandparser/trunk/Rakefile
|
|
117
|
+
M /trunk/commandparser/trunk/doc/src/default.template
|
|
118
|
+
M /trunk/commandparser/trunk/lib/cmdparse.rb
|
|
14
119
|
|
|
15
120
|
* changed version to 1.0.0
|
|
16
121
|
* updated Rakefile
|
|
17
122
|
* minor change in documentation template
|
|
18
123
|
------------------------------------------------------------------------
|
|
19
|
-
|
|
124
|
+
r9 | thomas | 2004-09-27 18:11:36 +0200 (Mon, 27 Sep 2004) | 1 line
|
|
20
125
|
Changed paths:
|
|
21
|
-
M /trunk/README
|
|
22
|
-
M /trunk/Rakefile
|
|
23
|
-
A /trunk/doc/src/default.css
|
|
24
|
-
A /trunk/doc/src/default.template
|
|
25
|
-
A /trunk/doc/src/download.fragment
|
|
26
|
-
A /trunk/doc/src/features.fragment
|
|
27
|
-
A /trunk/doc/src/index.fragment
|
|
28
|
-
A /trunk/doc/src/metainfo.backing
|
|
29
|
-
M /trunk/lib/cmdparse.rb
|
|
126
|
+
M /trunk/commandparser/trunk/README
|
|
127
|
+
M /trunk/commandparser/trunk/Rakefile
|
|
128
|
+
A /trunk/commandparser/trunk/doc/src/default.css
|
|
129
|
+
A /trunk/commandparser/trunk/doc/src/default.template
|
|
130
|
+
A /trunk/commandparser/trunk/doc/src/download.fragment
|
|
131
|
+
A /trunk/commandparser/trunk/doc/src/features.fragment
|
|
132
|
+
A /trunk/commandparser/trunk/doc/src/index.fragment
|
|
133
|
+
A /trunk/commandparser/trunk/doc/src/metainfo.backing
|
|
134
|
+
M /trunk/commandparser/trunk/lib/cmdparse.rb
|
|
30
135
|
|
|
31
136
|
* added some documentation to the doc folder
|
|
32
137
|
------------------------------------------------------------------------
|
|
33
|
-
|
|
138
|
+
r8 | thomas | 2004-09-27 17:45:02 +0200 (Mon, 27 Sep 2004) | 2 lines
|
|
34
139
|
Changed paths:
|
|
35
|
-
A /trunk/doc/src
|
|
36
|
-
M /trunk/lib/cmdparse.rb
|
|
37
|
-
M /trunk/test.rb
|
|
140
|
+
A /trunk/commandparser/trunk/doc/src
|
|
141
|
+
M /trunk/commandparser/trunk/lib/cmdparse.rb
|
|
142
|
+
M /trunk/commandparser/trunk/test.rb
|
|
38
143
|
|
|
39
144
|
* added VersionCommand class
|
|
40
145
|
* added example to rdoc documentation
|
|
41
146
|
------------------------------------------------------------------------
|
|
42
|
-
|
|
147
|
+
r7 | thomas | 2004-09-26 18:27:54 +0200 (Sun, 26 Sep 2004) | 3 lines
|
|
43
148
|
Changed paths:
|
|
44
|
-
A /trunk/COPYING
|
|
45
|
-
A /trunk/README
|
|
46
|
-
A /trunk/Rakefile
|
|
47
|
-
D /trunk/cmdparse.rb
|
|
48
|
-
A /trunk/doc
|
|
49
|
-
A /trunk/lib
|
|
50
|
-
A /trunk/lib/cmdparse.rb (from /trunk/cmdparse.rb:
|
|
51
|
-
A /trunk/setup.rb
|
|
149
|
+
A /trunk/commandparser/trunk/COPYING
|
|
150
|
+
A /trunk/commandparser/trunk/README
|
|
151
|
+
A /trunk/commandparser/trunk/Rakefile
|
|
152
|
+
D /trunk/commandparser/trunk/cmdparse.rb
|
|
153
|
+
A /trunk/commandparser/trunk/doc
|
|
154
|
+
A /trunk/commandparser/trunk/lib
|
|
155
|
+
A /trunk/commandparser/trunk/lib/cmdparse.rb (from /trunk/commandparser/trunk/cmdparse.rb:6)
|
|
156
|
+
A /trunk/commandparser/trunk/setup.rb
|
|
52
157
|
|
|
53
158
|
* added standard files: COPYING, README, Rakefile, setup.rb
|
|
54
159
|
* moved cmdparse.rb into lib directory
|
|
55
160
|
* added documentation
|
|
56
161
|
------------------------------------------------------------------------
|
|
57
|
-
|
|
162
|
+
r6 | thomas | 2004-09-23 17:19:11 +0200 (Thu, 23 Sep 2004) | 3 lines
|
|
58
163
|
Changed paths:
|
|
59
|
-
M /trunk/TODO
|
|
60
|
-
M /trunk/cmdparse.rb
|
|
61
|
-
M /trunk/test.rb
|
|
164
|
+
M /trunk/commandparser/trunk/TODO
|
|
165
|
+
M /trunk/commandparser/trunk/cmdparse.rb
|
|
166
|
+
M /trunk/commandparser/trunk/test.rb
|
|
62
167
|
|
|
63
168
|
* remove error checking in main part so that error fall threw
|
|
64
169
|
* added new commands to OptionParser class to get unchanged values
|
|
65
170
|
* added <good> behaviour for usage and banner lines
|
|
66
171
|
------------------------------------------------------------------------
|
|
67
|
-
|
|
172
|
+
r5 | thomas | 2004-09-22 20:16:29 +0200 (Wed, 22 Sep 2004) | 1 line
|
|
68
173
|
Changed paths:
|
|
69
|
-
A /trunk/TODO
|
|
70
|
-
A /trunk/cmdparse.rb
|
|
71
|
-
A /trunk/test.rb
|
|
174
|
+
A /trunk/commandparser/trunk/TODO
|
|
175
|
+
A /trunk/commandparser/trunk/cmdparse.rb
|
|
176
|
+
A /trunk/commandparser/trunk/test.rb
|
|
72
177
|
|
|
73
178
|
* initial import
|
|
74
179
|
------------------------------------------------------------------------
|
|
75
|
-
|
|
180
|
+
r3 | thomas | 2004-09-22 20:15:42 +0200 (Wed, 22 Sep 2004) | 1 line
|
|
76
181
|
Changed paths:
|
|
77
|
-
A /trunk
|
|
182
|
+
A /trunk/commandparser/trunk
|
|
78
183
|
|
|
79
184
|
|
|
80
185
|
------------------------------------------------------------------------
|
data/README
CHANGED
|
@@ -36,12 +36,12 @@ You can build the documentation by invoking
|
|
|
36
36
|
$ rake doc
|
|
37
37
|
|
|
38
38
|
This builds the API and the additional documentation. The additional documentation needs webgen
|
|
39
|
-
(webgen.rubyforge.org) for building.
|
|
39
|
+
>=0.3.2 (webgen.rubyforge.org) for building.
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
= Example
|
|
43
43
|
|
|
44
|
-
There is an example of how to use cmdparse in the +test+
|
|
44
|
+
There is an example of how to use cmdparse in the +test.rb+ file.
|
|
45
45
|
|
|
46
46
|
|
|
47
47
|
= Contact
|
data/Rakefile
CHANGED
|
@@ -71,7 +71,7 @@ CLOBBER << "doc/output"
|
|
|
71
71
|
desc "Builds the documentation"
|
|
72
72
|
task :doc => [:rdoc] do
|
|
73
73
|
Dir.chdir("doc")
|
|
74
|
-
sh "webgen -V
|
|
74
|
+
sh "webgen -V 3"
|
|
75
75
|
Dir.chdir("..")
|
|
76
76
|
end
|
|
77
77
|
|
|
@@ -154,14 +154,6 @@ else
|
|
|
154
154
|
|
|
155
155
|
end
|
|
156
156
|
|
|
157
|
-
|
|
158
|
-
desc "Creates a tag in the repository"
|
|
159
|
-
task :tag do
|
|
160
|
-
repositoryPath = File.dirname( $1 ) if `svn info` =~ /^URL: (.*)$/
|
|
161
|
-
fail "Tag already created in repository " if /#{PKG_FULLNAME}/ =~ `svn ls #{repositoryPath}/versions`
|
|
162
|
-
sh "svn cp -m 'Created version #{PKG_FULLNAME}' #{repositoryPath}/trunk #{repositoryPath}/versions/#{PKG_FULLNAME}"
|
|
163
|
-
end
|
|
164
|
-
|
|
165
157
|
desc "Upload documentation to homepage"
|
|
166
158
|
task :uploaddoc => [:doc] do
|
|
167
159
|
Dir.chdir('doc/output')
|
data/TODO
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
|
|
2
|
-
|
|
3
2
|
---- DONE ----
|
|
4
3
|
|
|
5
4
|
* define banner in a common way (like option parser), maybe use the one from option parser
|
|
5
|
+
* raise NoCommandGivenError when no command was given
|
|
6
|
+
* ability to specify default command (used when no command was given)
|
|
7
|
+
* add order,order!,... methods to mimic optparse
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.0.
|
|
1
|
+
1.0.1
|
data/doc/src/default.css
CHANGED
|
@@ -1,85 +1,84 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
/*
|
|
2
|
+
#5CB85C -> background
|
|
3
|
+
#408040 -> headings
|
|
4
|
+
#CFE6CF -> code
|
|
5
|
+
#30BF30 -> other
|
|
6
|
+
*/
|
|
5
7
|
|
|
6
8
|
body {
|
|
7
|
-
margin: 0px;
|
|
8
|
-
padding: 0px;
|
|
9
|
-
background-color: #fff;
|
|
9
|
+
margin: 0px 2em;
|
|
10
10
|
font-size: 12px;
|
|
11
11
|
font-family: Verdana, Arial, Helvetica;
|
|
12
|
+
border: 1px solid black;
|
|
13
|
+
color: black;
|
|
12
14
|
}
|
|
13
15
|
|
|
14
|
-
|
|
16
|
+
h1, h2, h3, h4, h5 { color: #408040}
|
|
17
|
+
|
|
18
|
+
a:visited { color: #408040; }
|
|
19
|
+
a { color: #5CB85C; }
|
|
20
|
+
.bar a { color: white }
|
|
21
|
+
.bar a:visited { color: white }
|
|
15
22
|
|
|
16
|
-
#
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
23
|
+
#all { background-color: #CFE6CF; }
|
|
24
|
+
|
|
25
|
+
#header {
|
|
26
|
+
border-bottom: 1px solid black;
|
|
27
|
+
padding: 1ex;
|
|
28
|
+
background-color: #5CB85C;
|
|
29
|
+
}
|
|
30
|
+
#header img {
|
|
31
|
+
padding-right: 5em;
|
|
32
|
+
}
|
|
33
|
+
#header h1 {
|
|
34
|
+
margin: 0ex;
|
|
35
|
+
font-size: 300%;
|
|
36
|
+
font-style: italic;
|
|
37
|
+
font-weight: normal;
|
|
38
|
+
color: white;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
, #headerbar { border-bottom: 1px solid black; }
|
|
42
|
+
#footer { border-top: 1px solid black; }
|
|
43
|
+
|
|
44
|
+
#body {
|
|
45
|
+
margin-left: 250px;
|
|
46
|
+
margin-right: 20px;
|
|
47
|
+
padding: 10px;
|
|
20
48
|
}
|
|
21
49
|
|
|
22
50
|
#menu {
|
|
23
51
|
float: left;
|
|
24
52
|
width: 230px;
|
|
25
|
-
padding: 20px 0px 0px
|
|
26
|
-
border: 3px solid #58b;
|
|
53
|
+
padding: 20px 0px 0px 2px;
|
|
27
54
|
}
|
|
28
55
|
|
|
29
|
-
|
|
30
|
-
margin-left: 250px;
|
|
31
|
-
padding: 20px;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
#footer {
|
|
56
|
+
.bar {
|
|
35
57
|
clear: both;
|
|
36
|
-
padding:
|
|
58
|
+
padding: 3px;
|
|
37
59
|
text-align: center;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
/* styling the header */
|
|
42
|
-
|
|
43
|
-
#headerbar {
|
|
44
|
-
width: 100%;
|
|
45
60
|
font-size: 90%;
|
|
61
|
+
background-color: #30BF30;
|
|
46
62
|
}
|
|
47
63
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
width: 45%;
|
|
64
|
+
.left, .right {
|
|
65
|
+
padding: 0px 1em;
|
|
51
66
|
}
|
|
52
67
|
|
|
53
|
-
|
|
68
|
+
.left {
|
|
54
69
|
float: left;
|
|
55
70
|
text-align: left;
|
|
56
71
|
}
|
|
57
72
|
|
|
58
|
-
|
|
73
|
+
.right {
|
|
59
74
|
float: right;
|
|
60
75
|
text-align: right;
|
|
61
76
|
}
|
|
62
77
|
|
|
63
|
-
div#header h1, h2 {
|
|
64
|
-
margin: 0px;
|
|
65
|
-
padding: 15px 50px 0px;
|
|
66
|
-
|
|
67
|
-
font-size: 300%;
|
|
68
|
-
font-style: italic;
|
|
69
|
-
font-weight: normal;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
div#header h2 {
|
|
73
|
-
padding-top: 0px;
|
|
74
|
-
padding-bottom: 15px;
|
|
75
|
-
font-size: 100%;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
78
|
/* styling the menu */
|
|
79
79
|
|
|
80
80
|
#menu a {
|
|
81
81
|
text-decoration: none;
|
|
82
|
-
color: #b55;
|
|
83
82
|
font-weight: bold;
|
|
84
83
|
font-size: 130%;
|
|
85
84
|
}
|
|
@@ -89,10 +88,7 @@
|
|
|
89
88
|
}
|
|
90
89
|
|
|
91
90
|
#menu .webgen-menuitem-selected {
|
|
92
|
-
border-left: 3px solid #
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
#menu .webgen-submenu {
|
|
91
|
+
border-left: 3px solid #408040;
|
|
96
92
|
}
|
|
97
93
|
|
|
98
94
|
#menu ul {
|
|
@@ -114,24 +110,37 @@
|
|
|
114
110
|
|
|
115
111
|
/* styling the content */
|
|
116
112
|
|
|
117
|
-
|
|
118
|
-
margin-bottom: 30px;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
h2.section_header {
|
|
113
|
+
h2 {
|
|
122
114
|
padding: 0px;
|
|
123
|
-
border-bottom: 3px double #8b5;
|
|
124
|
-
|
|
125
115
|
letter-spacing: 0.2em;
|
|
126
116
|
font-size: 150%;
|
|
127
117
|
font-weight: bold;
|
|
128
|
-
|
|
118
|
+
border-bottom: 1px solid #408040;
|
|
129
119
|
}
|
|
130
120
|
|
|
131
|
-
|
|
121
|
+
.webgen-file {
|
|
132
122
|
padding-left: 10px;
|
|
133
123
|
margin: 0px 10px;
|
|
134
|
-
border-left: 3px solid #
|
|
124
|
+
border-left: 3px solid #5CB85C;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.webgen-picture {
|
|
128
|
+
text-align: center;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.webgen-picture img {
|
|
132
|
+
border: 1px solid black;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.webgen-gallery {
|
|
136
|
+
text-align: center;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.webgen-gallery table {
|
|
140
|
+
width: 100%;
|
|
135
141
|
}
|
|
136
142
|
|
|
137
|
-
|
|
143
|
+
.webgen-gallery table td{
|
|
144
|
+
text-align: center;
|
|
145
|
+
border: 1px solid black;
|
|
146
|
+
}
|
data/doc/src/default.template
CHANGED
|
@@ -1,32 +1,41 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
|
3
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="
|
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{lang:}">
|
|
4
4
|
<head>
|
|
5
|
-
<title>CommandParser: {title:
|
|
5
|
+
<title>CommandParser: {title:}</title>
|
|
6
6
|
<link href="{relocatable: default.css}" rel="stylesheet" />
|
|
7
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
7
8
|
</head>
|
|
8
9
|
<body>
|
|
9
|
-
<div id="
|
|
10
|
-
|
|
11
|
-
<
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
<div id="all">
|
|
11
|
+
|
|
12
|
+
<div id="header">
|
|
13
|
+
<table>
|
|
14
|
+
<tr>
|
|
15
|
+
<td><img src="{relocatable: logo.png}" alt="Logo" title="Logo" /></td>
|
|
16
|
+
<td><h1>CommandParser<span style="font-size: 60%"> - advanced command line parser which supports commands</span></h1>
|
|
17
|
+
</td>
|
|
18
|
+
</tr>
|
|
19
|
+
</table>
|
|
16
20
|
</div>
|
|
17
|
-
</div>
|
|
18
21
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
+
<div id="headerbar" class="bar">
|
|
23
|
+
<span class="left">Navbar: {navbar: }</span>
|
|
24
|
+
<span class="right">Language: {langbar: }</span>
|
|
25
|
+
<div style="clear:both"></div>
|
|
26
|
+
</div>
|
|
22
27
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
28
|
+
<div id="menu">
|
|
29
|
+
{menu:}
|
|
30
|
+
</div>
|
|
26
31
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
32
|
+
<div id="body">
|
|
33
|
+
{content:}
|
|
34
|
+
</div>
|
|
30
35
|
|
|
36
|
+
<div id="footer" class="bar">
|
|
37
|
+
generated with <em><b><a href="http://webgen.rubyforge.org"><em><b>webgen</b></em></a></b></em> on <b>{date: }</b>
|
|
38
|
+
</div>
|
|
39
|
+
</div>
|
|
31
40
|
</body>
|
|
32
41
|
</html>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Download & Installation
|
|
3
|
+
inMenu: true
|
|
4
|
+
menuOrder: 3
|
|
5
|
+
---
|
|
6
|
+
h2. Download
|
|
7
|
+
|
|
8
|
+
The newest version of cmdparse can be downloaded from Rubyforge.
|
|
9
|
+
|
|
10
|
+
Homepage: <a href="http://cmdparse.rubyforge.org">cmdparse.rubyforge.org</a><br />
|
|
11
|
+
Download: <a href="http://rubyforge.org/frs/?group_id=396">http://rubyforge.org/frs/?group_id=396</a>
|
|
12
|
+
|
|
13
|
+
h2. Dependencies
|
|
14
|
+
|
|
15
|
+
optparse - part of the standard ruby distribution, so nothing to do here
|
|
16
|
+
|
|
17
|
+
h2. Installation
|
|
18
|
+
|
|
19
|
+
You can use the standard way to install cmdparse:
|
|
20
|
+
<pre>
|
|
21
|
+
$ ruby setup.rb config
|
|
22
|
+
$ ruby setup.rb setup
|
|
23
|
+
$ ruby setup.rb install
|
|
24
|
+
</pre>
|
|
25
|
+
|
|
26
|
+
Or you could use Rake and substitute the above commands with this:
|
|
27
|
+
<pre>
|
|
28
|
+
$ rake install
|
|
29
|
+
</pre>
|
|
30
|
+
|
|
31
|
+
Or you could install cmdparse the "GEM way":
|
|
32
|
+
<pre>
|
|
33
|
+
$ gem install cmdparse
|
|
34
|
+
</pre>
|
data/doc/src/index.page
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: HomePage
|
|
3
|
+
inMenu: true
|
|
4
|
+
directoryName: CommandParser
|
|
5
|
+
menuOrder: 1
|
|
6
|
+
---
|
|
7
|
+
h2. Welcome
|
|
8
|
+
|
|
9
|
+
... to the homepage of _*CommandParser*_, an advanced command line parser.
|
|
10
|
+
|
|
11
|
+
Have a look around the site!
|
|
12
|
+
|
|
13
|
+
h2. News
|
|
14
|
+
|
|
15
|
+
*cmdparse 1.0.1 released!!!*
|
|
16
|
+
|
|
17
|
+
Changes:
|
|
18
|
+
|
|
19
|
+
* Improved HelpCommand: the global options -h and --help take an optional command name now
|
|
20
|
+
* Possibility to define a default command which is used when no command was specified
|
|
21
|
+
* A @NoCommandGivenError@ is thrown when no command on the CLI and no default command was specified
|
|
22
|
+
|
|
23
|
+
h2. Description
|
|
24
|
+
|
|
25
|
+
Some new programs use a "command style" command line. Examples for such programs are the "svn"
|
|
26
|
+
program from Subversion and the "gem" program from Rubygems. The standard Ruby distribution has no
|
|
27
|
+
library to create programs that use such a command line interface.
|
|
28
|
+
|
|
29
|
+
This library, cmdparse, can be used to create such a command line interface. Internally it uses
|
|
30
|
+
optparse to parse options and it provides a nice API for specifying commands.
|
|
31
|
+
|
|
32
|
+
h2. And so
|
|
33
|
+
|
|
34
|
+
... have fun!
|
data/doc/src/logo.png
ADDED
|
Binary file
|
data/doc/src/meta.info
ADDED
data/lib/cmdparse.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#
|
|
2
2
|
#--
|
|
3
3
|
#
|
|
4
|
-
# $Id: cmdparse.rb
|
|
4
|
+
# $Id: cmdparse.rb 240 2005-04-13 11:40:39Z thomas $
|
|
5
5
|
#
|
|
6
6
|
# cmdparse: an advanced command line parser using optparse which supports commands
|
|
7
7
|
# Copyright (C) 2004 Thomas Leitner
|
|
@@ -91,7 +91,7 @@ end
|
|
|
91
91
|
# opt.on("-r", "--require TEST", "Require the TEST")
|
|
92
92
|
# opt.on("--delay N", Integer, "Delay test for N seconds before executing")
|
|
93
93
|
# end
|
|
94
|
-
# cmd.add_command TestCommand.new
|
|
94
|
+
# cmd.add_command TestCommand.new, true # sets this command as default command
|
|
95
95
|
# cmd.add_command CommandParser::HelpCommand.new
|
|
96
96
|
# cmd.add_command CommandParser::VersionCommand.new
|
|
97
97
|
# cmd.parse!( ARGV )
|
|
@@ -99,11 +99,16 @@ end
|
|
|
99
99
|
class CommandParser
|
|
100
100
|
|
|
101
101
|
# The version of the command parser
|
|
102
|
-
VERSION = [1, 0,
|
|
102
|
+
VERSION = [1, 0, 1]
|
|
103
103
|
|
|
104
104
|
# This error is thrown when an invalid command is encountered.
|
|
105
|
-
class
|
|
106
|
-
const_set(:Reason, 'invalid command'.freeze)
|
|
105
|
+
class InvalidCommandError < OptionParser::ParseError
|
|
106
|
+
const_set( :Reason, 'invalid command'.freeze )
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
# This error is thrown when no command was given and no default command was specified.
|
|
110
|
+
class NoCommandGivenError < OptionParser::ParseError
|
|
111
|
+
const_set( :Reason, 'no command given'.freeze )
|
|
107
112
|
end
|
|
108
113
|
|
|
109
114
|
# Base class for the commands. This class implements all needed methods so that it can be used by
|
|
@@ -171,8 +176,8 @@ class CommandParser
|
|
|
171
176
|
|
|
172
177
|
def init( commandParser )
|
|
173
178
|
commandParser.options do |opt|
|
|
174
|
-
opt.on_tail( "-h", "--help", "Show help" ) do
|
|
175
|
-
execute( commandParser, [] )
|
|
179
|
+
opt.on_tail( "-h", "--help [command]", "Show help" ) do |cmd|
|
|
180
|
+
execute( commandParser, cmd.nil? ? [] : [cmd] )
|
|
176
181
|
end
|
|
177
182
|
end
|
|
178
183
|
end
|
|
@@ -262,11 +267,12 @@ class CommandParser
|
|
|
262
267
|
end
|
|
263
268
|
|
|
264
269
|
# Holds the registered commands
|
|
265
|
-
attr_reader
|
|
270
|
+
attr_reader :commands
|
|
266
271
|
|
|
267
272
|
def initialize
|
|
268
273
|
@options = OptionParser.new
|
|
269
274
|
@commands = {}
|
|
275
|
+
@default = nil
|
|
270
276
|
end
|
|
271
277
|
|
|
272
278
|
# If called with a block, this method yields the global options of the +CommandParser+. If no
|
|
@@ -279,24 +285,41 @@ class CommandParser
|
|
|
279
285
|
end
|
|
280
286
|
end
|
|
281
287
|
|
|
282
|
-
# Adds a command to the command list.
|
|
283
|
-
|
|
288
|
+
# Adds a command to the command list. If the optional parameter +default+ is true, then this
|
|
289
|
+
# command is used when no command is specified on the command line.
|
|
290
|
+
def add_command( command, default = false )
|
|
284
291
|
@commands[command.name] = command
|
|
292
|
+
@default = command.name if default
|
|
285
293
|
command.init( self )
|
|
286
294
|
end
|
|
287
295
|
|
|
296
|
+
# Calls +parse+ - implemented to mimic OptionParser
|
|
297
|
+
def permute( args ); parse( args ); end
|
|
298
|
+
# Calls +parse!+ - implemented to mimic OptionParser
|
|
299
|
+
def permute!( args ); parse!( args ); end
|
|
300
|
+
# Calls +parse+ - implemented to mimic OptionParser
|
|
301
|
+
def order( args ); parse( args ); end
|
|
302
|
+
# Calls +parse!+ - implemented to mimic OptionParser
|
|
303
|
+
def order!( args ); parse!( args ); end
|
|
304
|
+
|
|
288
305
|
# see CommandParser#parse!
|
|
289
|
-
def parse( args )
|
|
290
|
-
parse!( args.dup )
|
|
291
|
-
end
|
|
306
|
+
def parse( args ); parse!( args.dup ); end
|
|
292
307
|
|
|
293
308
|
# Parses the given argument. First it tries to parse global arguments if given. After that the
|
|
294
309
|
# command name is analyzied and the options for the specific commands parsed. After that the
|
|
295
310
|
# command is executed by invoking its +execute+ method.
|
|
296
311
|
def parse!( args )
|
|
297
312
|
@options.order!( args )
|
|
298
|
-
command = args.shift
|
|
299
|
-
|
|
313
|
+
command = args.shift
|
|
314
|
+
if command.nil?
|
|
315
|
+
if @default.nil?
|
|
316
|
+
raise NoCommandGivenError
|
|
317
|
+
else
|
|
318
|
+
command = @default
|
|
319
|
+
end
|
|
320
|
+
else
|
|
321
|
+
raise InvalidCommandError.new( command ) unless commands.include?( command )
|
|
322
|
+
end
|
|
300
323
|
commands[command].options.permute!( args ) unless commands[command].options.nil?
|
|
301
324
|
commands[command].execute( self, args )
|
|
302
325
|
end
|
metadata
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
|
-
rubygems_version: 0.8.
|
|
2
|
+
rubygems_version: 0.8.4
|
|
3
3
|
specification_version: 1
|
|
4
4
|
name: cmdparse
|
|
5
5
|
version: !ruby/object:Gem::Version
|
|
6
|
-
version: 1.0.
|
|
7
|
-
date:
|
|
6
|
+
version: 1.0.1
|
|
7
|
+
date: 2005-04-13
|
|
8
8
|
summary: An advanced command line parser using optparse which supports commands
|
|
9
9
|
require_paths:
|
|
10
10
|
- lib
|
|
11
|
-
author: Thomas Leitner
|
|
12
11
|
email: t_leitner@gmx.at
|
|
13
12
|
homepage: cmdparse.rubyforge.org
|
|
14
13
|
rubyforge_project: cmdparse
|
|
15
|
-
description: "cmdparse extends the default option parser 'optparse' by adding support for
|
|
14
|
+
description: "cmdparse extends the default option parser 'optparse' by adding support for
|
|
15
|
+
commands. Programs that use such command line interfaces are, for example,
|
|
16
|
+
subversion's 'svn' or Rubygem's 'gem' program."
|
|
16
17
|
autorequire:
|
|
17
18
|
default_executable:
|
|
18
19
|
bindir: bin
|
|
@@ -25,6 +26,8 @@ required_ruby_version: !ruby/object:Gem::Version::Requirement
|
|
|
25
26
|
version: 0.0.0
|
|
26
27
|
version:
|
|
27
28
|
platform: ruby
|
|
29
|
+
authors:
|
|
30
|
+
- Thomas Leitner
|
|
28
31
|
files:
|
|
29
32
|
- setup.rb
|
|
30
33
|
- TODO
|
|
@@ -35,12 +38,13 @@ files:
|
|
|
35
38
|
- VERSION
|
|
36
39
|
- lib/cmdparse.rb
|
|
37
40
|
- doc/src
|
|
38
|
-
- doc/src/metainfo.backing
|
|
39
41
|
- doc/src/default.css
|
|
40
|
-
- doc/src/
|
|
42
|
+
- doc/src/features.page
|
|
43
|
+
- doc/src/index.page
|
|
44
|
+
- doc/src/download.page
|
|
41
45
|
- doc/src/default.template
|
|
42
|
-
- doc/src/
|
|
43
|
-
- doc/src/
|
|
46
|
+
- doc/src/meta.info
|
|
47
|
+
- doc/src/logo.png
|
|
44
48
|
test_files: []
|
|
45
49
|
rdoc_options:
|
|
46
50
|
- "--line-numbers"
|
data/doc/src/download.fragment
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
<div class="section">
|
|
2
|
-
<h2 class="section_header">Download</h2>
|
|
3
|
-
<p>The newest version of cmdparse can be downloaded from Rubyforge.</p>
|
|
4
|
-
<p>Homepage: <a href="http://cmdparse.rubyforge.org">cmdparse.rubyforge.org</a><br />
|
|
5
|
-
Download: <a href="http://rubyforge.org/frs/?group_id=396">http://rubyforge.org/frs/?group_id=396</a>
|
|
6
|
-
</p>
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
<div class="section">
|
|
10
|
-
<h2 class="section_header">Dependencies</h2>
|
|
11
|
-
<p>optparse - part of the standard ruby distribution, so nothing to do here</p>
|
|
12
|
-
</div>
|
|
13
|
-
|
|
14
|
-
<div class="section">
|
|
15
|
-
<h2 class="section_header">Installation</h2>
|
|
16
|
-
You can use the standard way to install cmdparse:
|
|
17
|
-
<pre>
|
|
18
|
-
$ ruby setup.rb config
|
|
19
|
-
$ ruby setup.rb setup
|
|
20
|
-
$ ruby setup.rb install
|
|
21
|
-
</pre>
|
|
22
|
-
|
|
23
|
-
Or you could use Rake and substitute the above commands with this:
|
|
24
|
-
<pre>
|
|
25
|
-
$ rake install
|
|
26
|
-
</pre>
|
|
27
|
-
|
|
28
|
-
Or you could install cmdparse the "GEM way":
|
|
29
|
-
<pre>
|
|
30
|
-
$ gem install cmdparse
|
|
31
|
-
</pre>
|
|
32
|
-
</div>
|
data/doc/src/features.fragment
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
<div class="section">
|
|
2
|
-
<h2 class="section_header">Feature list</h2>
|
|
3
|
-
<ul>
|
|
4
|
-
<li>Based upon the standard library <code>optparse</code></li>
|
|
5
|
-
<li>Each command is implemented via a class</li>
|
|
6
|
-
<li>As easy to use as <code>optparse</code> itself</li>
|
|
7
|
-
</ul>
|
|
8
|
-
</div>
|
data/doc/src/index.fragment
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
<div class="section">
|
|
2
|
-
<h2 class="section_header">Welcome</h2>
|
|
3
|
-
<p>... to the homepage of <i><b>cmdparse</b></i>, an advanced command line parser.</p>
|
|
4
|
-
<p>Have a look around the site!</p>
|
|
5
|
-
</div>
|
|
6
|
-
|
|
7
|
-
<div class="section">
|
|
8
|
-
<h2 class="section_header">Description</h2>
|
|
9
|
-
<p>Some new programs use a "command style" command line. Examples for such programs are the "svn"
|
|
10
|
-
program from Subversion and the "gem" program from Rubygems. The standard Ruby distribution has no
|
|
11
|
-
library to create programs that use such a command line interface.</p>
|
|
12
|
-
|
|
13
|
-
<p>This library, cmdparse, can be used to create such a command line interface. Internally it uses
|
|
14
|
-
optparse to parse options and it provides a nice API for specifying commands.</p>
|
|
15
|
-
|
|
16
|
-
</div>
|
|
17
|
-
|
|
18
|
-
<div class="section">
|
|
19
|
-
<h2 class="section_header">And so ...</h2>
|
|
20
|
-
<p>... have fun!</p>
|
|
21
|
-
</div>
|
data/doc/src/metainfo.backing
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
index.html:
|
|
2
|
-
en:
|
|
3
|
-
title: Home
|
|
4
|
-
inMenu: true
|
|
5
|
-
directoryName: CommandParser
|
|
6
|
-
menuOrder: 1
|
|
7
|
-
|
|
8
|
-
download.html:
|
|
9
|
-
en:
|
|
10
|
-
title: Download & Installation
|
|
11
|
-
inMenu: true
|
|
12
|
-
menuOrder: 3
|
|
13
|
-
|
|
14
|
-
features.html:
|
|
15
|
-
en:
|
|
16
|
-
title: Features
|
|
17
|
-
inMenu: true
|
|
18
|
-
menuOrder: 5
|
|
19
|
-
|
|
20
|
-
api.html:
|
|
21
|
-
en:
|
|
22
|
-
dest: rdoc/index.html
|
|
23
|
-
title: API Reference
|
|
24
|
-
menuOrder: 7
|
|
25
|
-
inMenu: true
|