optparse 0.2.0 → 0.3.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.
- checksums.yaml +4 -4
- data/ChangeLog +14 -253
- data/doc/optparse/creates_option.rdoc +2 -2
- data/doc/optparse/option_params.rdoc +3 -3
- data/doc/optparse/tutorial.rdoc +2 -2
- data/lib/optparse/ac.rb +1 -1
- data/lib/optparse/date.rb +1 -1
- data/lib/optparse/kwargs.rb +1 -1
- data/lib/optparse/shellwords.rb +1 -1
- data/lib/optparse/time.rb +1 -1
- data/lib/optparse/uri.rb +1 -1
- data/lib/optparse.rb +110 -14
- metadata +7 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3726480fe0a25a9efd1cec645f993256cda45ac050411f046dfb6fa35117414a
|
|
4
|
+
data.tar.gz: ace5491689e1e277cd9b0a37b7ff070be46e46b6cb1b3b21f19c02d4d2d792a1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: af882a7ff3c55fc882fbbc1259d104a55dd15049b64b3022459e868c4a00ba989ac651b5f7c16a260a97c8f4992b07adc3b03ca23ad231adf46cae62be6ae8b6
|
|
7
|
+
data.tar.gz: 42d6f1e638d8fdbb43953e0ecda55a00b9460d375a1cb8175bd14dcdbbc2fd94996fae031b0b7f31881d73dc6fa2815c75d146fc2fedc2ea9551797118be22e5
|
data/ChangeLog
CHANGED
|
@@ -1,264 +1,25 @@
|
|
|
1
1
|
-*- coding: utf-8 -*-
|
|
2
2
|
|
|
3
|
-
commit
|
|
3
|
+
commit 2a1e157ae134b07b8412182502755ec4eb3af499
|
|
4
4
|
Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
|
|
5
|
-
AuthorDate:
|
|
5
|
+
AuthorDate: 2022-12-22 17:47:34 +0900
|
|
6
6
|
Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org>
|
|
7
|
-
CommitDate:
|
|
7
|
+
CommitDate: 2022-12-22 17:47:34 +0900
|
|
8
8
|
|
|
9
|
-
Bump
|
|
9
|
+
Bump version to 0.3.1
|
|
10
10
|
|
|
11
|
-
commit
|
|
11
|
+
commit 766f567405a362d0e018d8411df15ce8d70573a6
|
|
12
12
|
Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
13
|
-
AuthorDate:
|
|
14
|
-
Commit: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
15
|
-
CommitDate: 2021-09-29 11:45:11 +0900
|
|
16
|
-
|
|
17
|
-
Add the argument from where synchronize tools
|
|
18
|
-
|
|
19
|
-
commit a3d05c1be8efb552b64f3d1af84b8b8dea8e0afb
|
|
20
|
-
Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
21
|
-
AuthorDate: 2021-09-29 11:34:44 +0900
|
|
22
|
-
Commit: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
23
|
-
CommitDate: 2021-09-29 11:34:44 +0900
|
|
24
|
-
|
|
25
|
-
Revived `rdoc` task
|
|
26
|
-
|
|
27
|
-
commit 6a2fa9737f5dab99c73a99a24472f620fff228ea
|
|
28
|
-
Author: Hiroshi SHIBATA <hsbt@ruby-lang.org>
|
|
29
|
-
AuthorDate: 2021-09-11 13:21:00 +0900
|
|
30
|
-
Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org>
|
|
31
|
-
CommitDate: 2021-09-11 13:21:00 +0900
|
|
32
|
-
|
|
33
|
-
Bump up the latest version of CoreAssertions
|
|
34
|
-
|
|
35
|
-
commit bf03038d953902569c11448717ab584c65e35a89
|
|
36
|
-
Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
|
|
37
|
-
AuthorDate: 2021-04-22 14:22:11 -0500
|
|
38
|
-
Commit: Burdette Lamar <BurdetteLamar@Yahoo.com>
|
|
39
|
-
CommitDate: 2021-04-22 14:22:11 -0500
|
|
40
|
-
|
|
41
|
-
Fix link in included file
|
|
42
|
-
|
|
43
|
-
commit 47417f1b4cb5d819aa54f305a4009f45d7a112c1
|
|
44
|
-
Author: Olle Jonsson <olle.jonsson@gmail.com>
|
|
45
|
-
AuthorDate: 2021-04-23 13:04:25 +0200
|
|
46
|
-
Commit: GitHub <noreply@github.com>
|
|
47
|
-
CommitDate: 2021-04-23 06:04:25 -0500
|
|
48
|
-
|
|
49
|
-
Remove an errant { character (#26)
|
|
50
|
-
|
|
51
|
-
commit 40d51ccbad75ab5194ce5a3574b49fda41745849
|
|
52
|
-
Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
|
|
53
|
-
AuthorDate: 2021-04-22 08:48:23 -0500
|
|
54
|
-
Commit: GitHub <noreply@github.com>
|
|
55
|
-
CommitDate: 2021-04-22 08:48:23 -0500
|
|
56
|
-
|
|
57
|
-
More on tutorial (#24)
|
|
58
|
-
|
|
59
|
-
- Adds section "Parsing" to tutorial.rdoc.
|
|
60
|
-
- Removes section "Terminators" from option_params.rdoc. (Terminator '--' is not an option parameter.)
|
|
61
|
-
|
|
62
|
-
commit 7f3195b9dbc3a984a5d3e928a9d70686484411c0
|
|
63
|
-
Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
|
|
64
|
-
AuthorDate: 2021-04-22 07:27:06 -0500
|
|
65
|
-
Commit: GitHub <noreply@github.com>
|
|
66
|
-
CommitDate: 2021-04-22 07:27:06 -0500
|
|
67
|
-
|
|
68
|
-
More on tutorial (#23)
|
|
69
|
-
|
|
70
|
-
- Removed a largish block of repeated text.
|
|
71
|
-
- Added sections "Top List and Base List" and "Methods for Defining Options" (on, define, etc.).
|
|
72
|
-
- Linked from class OptionParser doc to the tutorial.
|
|
73
|
-
|
|
74
|
-
commit 7ef3d89e7859552daa057b6d5f42ffe3e562ae34
|
|
75
|
-
Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
76
|
-
AuthorDate: 2021-04-16 12:57:55 +0900
|
|
77
|
-
Commit: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
78
|
-
CommitDate: 2021-04-16 12:57:55 +0900
|
|
79
|
-
|
|
80
|
-
Removed a duplicate section
|
|
81
|
-
|
|
82
|
-
commit 9c5b3f244b723e0231ef07c56c59dabf56a9dd3f
|
|
83
|
-
Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
|
|
84
|
-
AuthorDate: 2021-04-15 09:32:02 -0500
|
|
85
|
-
Commit: GitHub <noreply@github.com>
|
|
86
|
-
CommitDate: 2021-04-15 09:32:02 -0500
|
|
87
|
-
|
|
88
|
-
More on tutorial (#22)
|
|
89
|
-
|
|
90
|
-
Adds argument abbreviation in option_params.rdoc.
|
|
91
|
-
Adds entire Argument Values section to tutorial.rdoc.
|
|
92
|
-
|
|
93
|
-
commit d07cb96a9616ae7489e41db7bb85e43a9b664831
|
|
94
|
-
Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
|
|
95
|
-
AuthorDate: 2021-04-12 20:33:19 -0500
|
|
96
|
-
Commit: GitHub <noreply@github.com>
|
|
97
|
-
CommitDate: 2021-04-13 10:33:19 +0900
|
|
98
|
-
|
|
99
|
-
Rdoc for help (#21)
|
|
100
|
-
|
|
101
|
-
commit 385dd4322de67a989e5d271ed7ddb96b2375956f
|
|
102
|
-
Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
|
|
103
|
-
AuthorDate: 2021-04-11 23:43:02 -0500
|
|
104
|
-
Commit: GitHub <noreply@github.com>
|
|
105
|
-
CommitDate: 2021-04-12 06:43:02 +0200
|
|
106
|
-
|
|
107
|
-
Tutorial: explain custom argument converters (#19)
|
|
108
|
-
|
|
109
|
-
commit f23d750d14936c0e3663f65ad1b97be82d232dae
|
|
110
|
-
Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
111
|
-
AuthorDate: 2021-04-12 02:02:11 +0900
|
|
112
|
-
Commit: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
113
|
-
CommitDate: 2021-04-12 02:02:11 +0900
|
|
114
|
-
|
|
115
|
-
nodoc private methods
|
|
116
|
-
|
|
117
|
-
commit 7e65ef3cfa3a38aaac3a61e1a82307427f1d27c1
|
|
118
|
-
Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
119
|
-
AuthorDate: 2021-04-12 00:38:40 +0900
|
|
120
|
-
Commit: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
121
|
-
CommitDate: 2021-04-12 00:38:40 +0900
|
|
122
|
-
|
|
123
|
-
Fixed mismatched <tt> tag
|
|
124
|
-
|
|
125
|
-
commit cccb28e0debbf0f96162291766d3ccafc2c558a3
|
|
126
|
-
Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
127
|
-
AuthorDate: 2021-04-11 09:03:07 +0900
|
|
128
|
-
Commit: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
129
|
-
CommitDate: 2021-04-11 09:03:07 +0900
|
|
130
|
-
|
|
131
|
-
Moved rdoc files to doc/optparse
|
|
132
|
-
|
|
133
|
-
commit 8be031b5392cb440f3df23304805c8c814265c59
|
|
134
|
-
Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
135
|
-
AuthorDate: 2021-04-11 08:49:30 +0900
|
|
136
|
-
Commit: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
137
|
-
CommitDate: 2021-04-11 08:51:44 +0900
|
|
138
|
-
|
|
139
|
-
Fix relative paths
|
|
140
|
-
|
|
141
|
-
commit 01c24ca4f606a455b8d135a48e11a0371ef6d7c0
|
|
142
|
-
Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
143
|
-
AuthorDate: 2021-04-11 08:24:03 +0900
|
|
144
|
-
Commit: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
145
|
-
CommitDate: 2021-04-11 08:24:03 +0900
|
|
146
|
-
|
|
147
|
-
Added `rdoc` task
|
|
148
|
-
|
|
149
|
-
commit 4ff48f24c9b44740dd6c63bc5005db8959c21f80
|
|
150
|
-
Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
151
|
-
AuthorDate: 2021-04-09 23:20:03 +0900
|
|
152
|
-
Commit: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
153
|
-
CommitDate: 2021-04-11 08:10:41 +0900
|
|
154
|
-
|
|
155
|
-
No document in rakelib
|
|
156
|
-
|
|
157
|
-
commit 39d39676c45083953a082c4f6e2e8a7315b7066d
|
|
158
|
-
Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
|
|
159
|
-
AuthorDate: 2021-04-10 16:30:19 -0500
|
|
160
|
-
Commit: GitHub <noreply@github.com>
|
|
161
|
-
CommitDate: 2021-04-10 16:30:19 -0500
|
|
162
|
-
|
|
163
|
-
More on tutorial (#16)
|
|
164
|
-
|
|
165
|
-
- Added example in "Argument Converters"; it doesn't seem right for a tutorial to have no example in one of its topics (and instead just linking elsewhere).
|
|
166
|
-
- Added section "Command-Line Abbreviations."
|
|
167
|
-
- Added section "Keyword Argument into," showing how to:
|
|
168
|
-
- Collect options.
|
|
169
|
-
- Check for missing options.
|
|
170
|
-
- Provide option defaults.
|
|
171
|
-
|
|
172
|
-
commit c91ed8d33db7355cf0a5a8323f3f6aad57e18b38
|
|
173
|
-
Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
|
|
174
|
-
AuthorDate: 2021-04-10 10:05:44 -0500
|
|
175
|
-
Commit: GitHub <noreply@github.com>
|
|
176
|
-
CommitDate: 2021-04-10 10:05:44 -0500
|
|
177
|
-
|
|
178
|
-
Rdoc (#15)
|
|
179
|
-
|
|
180
|
-
* Resolve shared mixed_names.rb
|
|
181
|
-
|
|
182
|
-
* Add long option with negation
|
|
183
|
-
|
|
184
|
-
* Show --help for all examples
|
|
185
|
-
|
|
186
|
-
* Table of contents for tutorial
|
|
187
|
-
|
|
188
|
-
* Move argument converters to separate rdoc
|
|
189
|
-
|
|
190
|
-
* Add references to argument_converters.rdoc
|
|
191
|
-
|
|
192
|
-
* Tune up argument converters
|
|
193
|
-
|
|
194
|
-
* Change explicit links to auto-links
|
|
195
|
-
|
|
196
|
-
commit 9a2352c1c9c3445d1618da577f19137243a2a748
|
|
197
|
-
Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
|
|
198
|
-
AuthorDate: 2021-04-09 08:21:34 -0500
|
|
13
|
+
AuthorDate: 2022-12-21 14:07:54 +0900
|
|
199
14
|
Commit: GitHub <noreply@github.com>
|
|
200
|
-
CommitDate:
|
|
15
|
+
CommitDate: 2022-12-21 14:07:54 +0900
|
|
201
16
|
|
|
202
|
-
|
|
17
|
+
The encoding argument of `Regexp.new` has been ignored since 1.9
|
|
203
18
|
|
|
204
|
-
commit
|
|
205
|
-
Author:
|
|
206
|
-
AuthorDate:
|
|
207
|
-
Commit:
|
|
208
|
-
CommitDate:
|
|
209
|
-
|
|
210
|
-
gemspec: Explicit files list (#10)
|
|
211
|
-
|
|
212
|
-
This avoid shelling out, and includes a narrower list of files.
|
|
213
|
-
|
|
214
|
-
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
215
|
-
|
|
216
|
-
commit d55d9284c3a02a794d63a842764591d4ff079241
|
|
217
|
-
Author: BurdetteLamar <burdettelamar@yahoo.com>
|
|
218
|
-
AuthorDate: 2021-04-07 11:58:46 -0500
|
|
219
|
-
Commit: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
220
|
-
CommitDate: 2021-04-08 10:40:59 +0900
|
|
221
|
-
|
|
222
|
-
Make use of option_params.rdoc
|
|
223
|
-
|
|
224
|
-
commit 5618eeb49ee2a316cd5d91a515dbb2734f553027
|
|
225
|
-
Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
|
|
226
|
-
AuthorDate: 2021-04-07 09:01:52 -0500
|
|
227
|
-
Commit: GitHub <noreply@github.com>
|
|
228
|
-
CommitDate: 2021-04-07 16:01:52 +0200
|
|
229
|
-
|
|
230
|
-
Enhanced doc for option parameters (#11)
|
|
231
|
-
|
|
232
|
-
commit 84dfd92d2a7fb75bb40fbb8414bd8b90b7ccbac6
|
|
233
|
-
Author: Burdette Lamar <BurdetteLamar@Yahoo.com>
|
|
234
|
-
AuthorDate: 2021-04-06 13:55:21 -0500
|
|
235
|
-
Commit: GitHub <noreply@github.com>
|
|
236
|
-
CommitDate: 2021-04-06 13:55:21 -0500
|
|
237
|
-
|
|
238
|
-
More on tutorial (#9)
|
|
239
|
-
|
|
240
|
-
* More on tutorial
|
|
241
|
-
|
|
242
|
-
* More on tutorial
|
|
243
|
-
|
|
244
|
-
* More on tutorial
|
|
245
|
-
|
|
246
|
-
* More on tutorial: clearer example output
|
|
247
|
-
|
|
248
|
-
commit d14bf830078c2b2c8c8bcbe60aa2a2ebb40e0b6c
|
|
249
|
-
Author: Olle Jonsson <olle.jonsson@gmail.com>
|
|
250
|
-
AuthorDate: 2021-04-06 10:01:37 +0200
|
|
251
|
-
Commit: GitHub <noreply@github.com>
|
|
252
|
-
CommitDate: 2021-04-06 10:01:37 +0200
|
|
253
|
-
|
|
254
|
-
gemspec: Explicitly list 0 executables
|
|
255
|
-
|
|
256
|
-
This gem exposes no executable files.
|
|
257
|
-
|
|
258
|
-
commit f209276f79d84578d4e40004ce7768194aae00cc
|
|
259
|
-
Author: BurdetteLamar <burdettelamar@yahoo.com>
|
|
260
|
-
AuthorDate: 2021-03-29 14:03:04 -0500
|
|
261
|
-
Commit: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
262
|
-
CommitDate: 2021-03-30 12:00:31 +0900
|
|
19
|
+
commit 97a198673408d98686a4ec9c3457eef13088c981
|
|
20
|
+
Author: Junichi Sato <22004610+sato11@users.noreply.github.com>
|
|
21
|
+
AuthorDate: 2022-12-07 15:02:23 +0900
|
|
22
|
+
Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org>
|
|
23
|
+
CommitDate: 2022-12-08 12:11:51 +0900
|
|
263
24
|
|
|
264
|
-
|
|
25
|
+
Use GITHUB_OUTPUT instead of deprecated set-output
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Creates an option from the given parameters +params+.
|
|
2
|
-
See {Parameters for New Options}[
|
|
2
|
+
See {Parameters for New Options}[optparse/option_params.rdoc].
|
|
3
3
|
|
|
4
4
|
The block, if given, is the handler for the created option.
|
|
5
5
|
When the option is encountered during command-line parsing,
|
|
6
6
|
the block is called with the argument given for the option, if any.
|
|
7
|
-
See {Option Handlers}[
|
|
7
|
+
See {Option Handlers}[optparse/option_params.rdoc#label-Option+Handlers].
|
|
@@ -410,7 +410,7 @@ from the default \String to an instance of another class.
|
|
|
410
410
|
There are a number of built-in converters.
|
|
411
411
|
You can also define custom converters.
|
|
412
412
|
|
|
413
|
-
See {Argument Converters}[./
|
|
413
|
+
See {Argument Converters}[./argument_converters.rdoc].
|
|
414
414
|
|
|
415
415
|
=== Descriptions
|
|
416
416
|
|
|
@@ -418,7 +418,7 @@ A description parameter is any string parameter
|
|
|
418
418
|
that is not recognized as an
|
|
419
419
|
{option name}[#label-Option+Names] or a
|
|
420
420
|
{terminator}[#label-Terminators];
|
|
421
|
-
in other words, it does not begin with a
|
|
421
|
+
in other words, it does not begin with a hyphen.
|
|
422
422
|
|
|
423
423
|
You may give any number of description parameters;
|
|
424
424
|
each becomes a line in the text generated by option <tt>--help</tt>.
|
|
@@ -453,7 +453,7 @@ when the option is encountered. The handler may be:
|
|
|
453
453
|
|
|
454
454
|
==== Handler Blocks
|
|
455
455
|
|
|
456
|
-
An option
|
|
456
|
+
An option handler may be a block.
|
|
457
457
|
|
|
458
458
|
File +block.rb+ defines an option that has a handler block.
|
|
459
459
|
|
data/doc/optparse/tutorial.rdoc
CHANGED
|
@@ -541,7 +541,7 @@ Executions:
|
|
|
541
541
|
[#<Date: 2001-02-03 ((2451944j,0s,0n),+0s,2299161j)>, Date]
|
|
542
542
|
|
|
543
543
|
You can also define custom converters.
|
|
544
|
-
See {Argument Converters}[./
|
|
544
|
+
See {Argument Converters}[./argument_converters.rdoc]
|
|
545
545
|
for both built-in and custom converters.
|
|
546
546
|
|
|
547
547
|
=== Help
|
|
@@ -657,7 +657,7 @@ Though you may never need to call it directly,
|
|
|
657
657
|
here's the core method for defining an option:
|
|
658
658
|
|
|
659
659
|
- \Method \OptionParser#make_switch accepts an array of parameters and a block.
|
|
660
|
-
See {Parameters for New Options}[
|
|
660
|
+
See {Parameters for New Options}[optparse/option_params.rdoc].
|
|
661
661
|
This method is unlike others here in that it:
|
|
662
662
|
- Accepts an <em>array of parameters</em>;
|
|
663
663
|
others accept a <em>sequence of parameter arguments</em>.
|
data/lib/optparse/ac.rb
CHANGED
data/lib/optparse/date.rb
CHANGED
data/lib/optparse/kwargs.rb
CHANGED
data/lib/optparse/shellwords.rb
CHANGED
data/lib/optparse/time.rb
CHANGED
data/lib/optparse/uri.rb
CHANGED
data/lib/optparse.rb
CHANGED
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
#
|
|
51
51
|
# === New to \OptionParser?
|
|
52
52
|
#
|
|
53
|
-
# See the {Tutorial}[
|
|
53
|
+
# See the {Tutorial}[optparse/tutorial.rdoc].
|
|
54
54
|
#
|
|
55
55
|
# === Introduction
|
|
56
56
|
#
|
|
@@ -420,12 +420,12 @@
|
|
|
420
420
|
# === Further documentation
|
|
421
421
|
#
|
|
422
422
|
# The above examples, along with the accompanying
|
|
423
|
-
# {Tutorial}[
|
|
423
|
+
# {Tutorial}[optparse/tutorial.rdoc],
|
|
424
424
|
# should be enough to learn how to use this class.
|
|
425
425
|
# If you have any questions, file a ticket at http://bugs.ruby-lang.org.
|
|
426
426
|
#
|
|
427
427
|
class OptionParser
|
|
428
|
-
OptionParser::Version = "0.
|
|
428
|
+
OptionParser::Version = "0.3.1"
|
|
429
429
|
|
|
430
430
|
# :stopdoc:
|
|
431
431
|
NoArgument = [NO_ARGUMENT = :NONE, nil].freeze
|
|
@@ -674,6 +674,29 @@ class OptionParser
|
|
|
674
674
|
end
|
|
675
675
|
end
|
|
676
676
|
|
|
677
|
+
def pretty_print_contents(q) # :nodoc:
|
|
678
|
+
if @block
|
|
679
|
+
q.text ":" + @block.source_location.join(":") + ":"
|
|
680
|
+
first = false
|
|
681
|
+
else
|
|
682
|
+
first = true
|
|
683
|
+
end
|
|
684
|
+
[@short, @long].each do |list|
|
|
685
|
+
list.each do |opt|
|
|
686
|
+
if first
|
|
687
|
+
q.text ":"
|
|
688
|
+
first = false
|
|
689
|
+
end
|
|
690
|
+
q.breakable
|
|
691
|
+
q.text opt
|
|
692
|
+
end
|
|
693
|
+
end
|
|
694
|
+
end
|
|
695
|
+
|
|
696
|
+
def pretty_print(q) # :nodoc:
|
|
697
|
+
q.object_group(self) {pretty_print_contents(q)}
|
|
698
|
+
end
|
|
699
|
+
|
|
677
700
|
#
|
|
678
701
|
# Switch that takes no arguments.
|
|
679
702
|
#
|
|
@@ -693,6 +716,10 @@ class OptionParser
|
|
|
693
716
|
def self.pattern
|
|
694
717
|
Object
|
|
695
718
|
end
|
|
719
|
+
|
|
720
|
+
def pretty_head # :nodoc:
|
|
721
|
+
"NoArgument"
|
|
722
|
+
end
|
|
696
723
|
end
|
|
697
724
|
|
|
698
725
|
#
|
|
@@ -710,6 +737,10 @@ class OptionParser
|
|
|
710
737
|
end
|
|
711
738
|
conv_arg(*parse_arg(arg, &method(:raise)))
|
|
712
739
|
end
|
|
740
|
+
|
|
741
|
+
def pretty_head # :nodoc:
|
|
742
|
+
"Required"
|
|
743
|
+
end
|
|
713
744
|
end
|
|
714
745
|
|
|
715
746
|
#
|
|
@@ -727,18 +758,22 @@ class OptionParser
|
|
|
727
758
|
conv_arg(arg)
|
|
728
759
|
end
|
|
729
760
|
end
|
|
761
|
+
|
|
762
|
+
def pretty_head # :nodoc:
|
|
763
|
+
"Optional"
|
|
764
|
+
end
|
|
730
765
|
end
|
|
731
766
|
|
|
732
767
|
#
|
|
733
|
-
# Switch that takes an argument, which does not begin with '-'.
|
|
768
|
+
# Switch that takes an argument, which does not begin with '-' or is '-'.
|
|
734
769
|
#
|
|
735
770
|
class PlacedArgument < self
|
|
736
771
|
|
|
737
772
|
#
|
|
738
|
-
# Returns nil if argument is not present or begins with '-'.
|
|
773
|
+
# Returns nil if argument is not present or begins with '-' and is not '-'.
|
|
739
774
|
#
|
|
740
775
|
def parse(arg, argv, &error)
|
|
741
|
-
if !(val = arg) and (argv.empty? or /\A
|
|
776
|
+
if !(val = arg) and (argv.empty? or /\A-./ =~ (val = argv[0]))
|
|
742
777
|
return nil, block, nil
|
|
743
778
|
end
|
|
744
779
|
opt = (val = parse_arg(val, &error))[1]
|
|
@@ -750,6 +785,10 @@ class OptionParser
|
|
|
750
785
|
end
|
|
751
786
|
val
|
|
752
787
|
end
|
|
788
|
+
|
|
789
|
+
def pretty_head # :nodoc:
|
|
790
|
+
"Placed"
|
|
791
|
+
end
|
|
753
792
|
end
|
|
754
793
|
end
|
|
755
794
|
|
|
@@ -781,6 +820,17 @@ class OptionParser
|
|
|
781
820
|
@list = []
|
|
782
821
|
end
|
|
783
822
|
|
|
823
|
+
def pretty_print(q) # :nodoc:
|
|
824
|
+
q.group(1, "(", ")") do
|
|
825
|
+
@list.each do |sw|
|
|
826
|
+
next unless Switch === sw
|
|
827
|
+
q.group(1, "(" + sw.pretty_head, ")") do
|
|
828
|
+
sw.pretty_print_contents(q)
|
|
829
|
+
end
|
|
830
|
+
end
|
|
831
|
+
end
|
|
832
|
+
end
|
|
833
|
+
|
|
784
834
|
#
|
|
785
835
|
# See OptionParser.accept.
|
|
786
836
|
#
|
|
@@ -1098,6 +1148,7 @@ XXX
|
|
|
1098
1148
|
@summary_indent = indent
|
|
1099
1149
|
@default_argv = ARGV
|
|
1100
1150
|
@require_exact = false
|
|
1151
|
+
@raise_unknown = true
|
|
1101
1152
|
add_officious
|
|
1102
1153
|
yield self if block_given?
|
|
1103
1154
|
end
|
|
@@ -1175,6 +1226,9 @@ XXX
|
|
|
1175
1226
|
# abbreviated long option as short option).
|
|
1176
1227
|
attr_accessor :require_exact
|
|
1177
1228
|
|
|
1229
|
+
# Whether to raise at unknown option.
|
|
1230
|
+
attr_accessor :raise_unknown
|
|
1231
|
+
|
|
1178
1232
|
#
|
|
1179
1233
|
# Heading banner preceding summary.
|
|
1180
1234
|
#
|
|
@@ -1293,6 +1347,29 @@ XXX
|
|
|
1293
1347
|
def help; summarize("#{banner}".sub(/\n?\z/, "\n")) end
|
|
1294
1348
|
alias to_s help
|
|
1295
1349
|
|
|
1350
|
+
def pretty_print(q) # :nodoc:
|
|
1351
|
+
q.object_group(self) do
|
|
1352
|
+
first = true
|
|
1353
|
+
if @stack.size > 2
|
|
1354
|
+
@stack.each_with_index do |s, i|
|
|
1355
|
+
next if i < 2
|
|
1356
|
+
next if s.list.empty?
|
|
1357
|
+
if first
|
|
1358
|
+
first = false
|
|
1359
|
+
q.text ":"
|
|
1360
|
+
end
|
|
1361
|
+
q.breakable
|
|
1362
|
+
s.pretty_print(q)
|
|
1363
|
+
end
|
|
1364
|
+
end
|
|
1365
|
+
end
|
|
1366
|
+
end
|
|
1367
|
+
|
|
1368
|
+
def inspect # :nodoc:
|
|
1369
|
+
require 'pp'
|
|
1370
|
+
pretty_print_inspect
|
|
1371
|
+
end
|
|
1372
|
+
|
|
1296
1373
|
#
|
|
1297
1374
|
# Returns option summary list.
|
|
1298
1375
|
#
|
|
@@ -1429,7 +1506,7 @@ XXX
|
|
|
1429
1506
|
style = notwice(default_style.guess(arg = o), style, 'style')
|
|
1430
1507
|
default_pattern, conv = search(:atype, Object) unless default_pattern
|
|
1431
1508
|
else
|
|
1432
|
-
desc.push(o)
|
|
1509
|
+
desc.push(o) if o && !o.empty?
|
|
1433
1510
|
end
|
|
1434
1511
|
end
|
|
1435
1512
|
|
|
@@ -1566,9 +1643,11 @@ XXX
|
|
|
1566
1643
|
begin
|
|
1567
1644
|
sw, = complete(:long, opt, true)
|
|
1568
1645
|
if require_exact && !sw.long.include?(arg)
|
|
1646
|
+
throw :terminate, arg unless raise_unknown
|
|
1569
1647
|
raise InvalidOption, arg
|
|
1570
1648
|
end
|
|
1571
1649
|
rescue ParseError
|
|
1650
|
+
throw :terminate, arg unless raise_unknown
|
|
1572
1651
|
raise $!.set_option(arg, true)
|
|
1573
1652
|
end
|
|
1574
1653
|
begin
|
|
@@ -1600,6 +1679,7 @@ XXX
|
|
|
1600
1679
|
end
|
|
1601
1680
|
end
|
|
1602
1681
|
rescue ParseError
|
|
1682
|
+
throw :terminate, arg unless raise_unknown
|
|
1603
1683
|
raise $!.set_option(arg, true)
|
|
1604
1684
|
end
|
|
1605
1685
|
begin
|
|
@@ -1830,10 +1910,13 @@ XXX
|
|
|
1830
1910
|
# directory ~/.options, then the basename with '.options' suffix
|
|
1831
1911
|
# under XDG and Haiku standard places.
|
|
1832
1912
|
#
|
|
1833
|
-
|
|
1913
|
+
# The optional +into+ keyword argument works exactly like that accepted in
|
|
1914
|
+
# method #parse.
|
|
1915
|
+
#
|
|
1916
|
+
def load(filename = nil, into: nil)
|
|
1834
1917
|
unless filename
|
|
1835
1918
|
basename = File.basename($0, '.*')
|
|
1836
|
-
return true if load(File.expand_path(basename, '~/.options')) rescue nil
|
|
1919
|
+
return true if load(File.expand_path(basename, '~/.options'), into: into) rescue nil
|
|
1837
1920
|
basename << ".options"
|
|
1838
1921
|
return [
|
|
1839
1922
|
# XDG
|
|
@@ -1845,11 +1928,11 @@ XXX
|
|
|
1845
1928
|
'~/config/settings',
|
|
1846
1929
|
].any? {|dir|
|
|
1847
1930
|
next if !dir or dir.empty?
|
|
1848
|
-
load(File.expand_path(basename, dir)) rescue nil
|
|
1931
|
+
load(File.expand_path(basename, dir), into: into) rescue nil
|
|
1849
1932
|
}
|
|
1850
1933
|
end
|
|
1851
1934
|
begin
|
|
1852
|
-
parse(*
|
|
1935
|
+
parse(*File.readlines(filename, chomp: true), into: into)
|
|
1853
1936
|
true
|
|
1854
1937
|
rescue Errno::ENOENT, Errno::ENOTDIR
|
|
1855
1938
|
false
|
|
@@ -2001,10 +2084,23 @@ XXX
|
|
|
2001
2084
|
f |= Regexp::IGNORECASE if /i/ =~ o
|
|
2002
2085
|
f |= Regexp::MULTILINE if /m/ =~ o
|
|
2003
2086
|
f |= Regexp::EXTENDED if /x/ =~ o
|
|
2004
|
-
|
|
2005
|
-
|
|
2087
|
+
case o = o.delete("imx")
|
|
2088
|
+
when ""
|
|
2089
|
+
when "u"
|
|
2090
|
+
s = s.encode(Encoding::UTF_8)
|
|
2091
|
+
when "e"
|
|
2092
|
+
s = s.encode(Encoding::EUC_JP)
|
|
2093
|
+
when "s"
|
|
2094
|
+
s = s.encode(Encoding::SJIS)
|
|
2095
|
+
when "n"
|
|
2096
|
+
f |= Regexp::NOENCODING
|
|
2097
|
+
else
|
|
2098
|
+
raise OptionParser::InvalidArgument, "unknown regexp option - #{o}"
|
|
2099
|
+
end
|
|
2100
|
+
else
|
|
2101
|
+
s ||= all
|
|
2006
2102
|
end
|
|
2007
|
-
Regexp.new(s
|
|
2103
|
+
Regexp.new(s, f)
|
|
2008
2104
|
end
|
|
2009
2105
|
|
|
2010
2106
|
#
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: optparse
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Nobu Nakada
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2022-12-22 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: OptionParser is a class for command-line option analysis.
|
|
14
14
|
email:
|
|
@@ -98,7 +98,10 @@ metadata:
|
|
|
98
98
|
homepage_uri: https://github.com/ruby/optparse
|
|
99
99
|
source_code_uri: https://github.com/ruby/optparse
|
|
100
100
|
post_install_message:
|
|
101
|
-
rdoc_options:
|
|
101
|
+
rdoc_options:
|
|
102
|
+
- "--main=README.md"
|
|
103
|
+
- "--op=rdoc"
|
|
104
|
+
- "--page-dir=doc"
|
|
102
105
|
require_paths:
|
|
103
106
|
- lib
|
|
104
107
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
@@ -112,7 +115,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
112
115
|
- !ruby/object:Gem::Version
|
|
113
116
|
version: '0'
|
|
114
117
|
requirements: []
|
|
115
|
-
rubygems_version: 3.
|
|
118
|
+
rubygems_version: 3.4.0.dev
|
|
116
119
|
signing_key:
|
|
117
120
|
specification_version: 4
|
|
118
121
|
summary: OptionParser is a class for command-line option analysis.
|