cmdparse 3.0.2 → 3.0.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: d8fcb2e570f788efd92d168dc0c3f4dc2008502e
4
- data.tar.gz: 42fcef0757b5bfc74ce00dd517e448103aad1f8e
2
+ SHA256:
3
+ metadata.gz: 9d2caaf516131b40394d24f15510e829208323ceafb73e6bdf66230484c8fc54
4
+ data.tar.gz: 821bc8367ff510850f9cb2e4586d48d49c16d7d4ba0a2af97c8b582c32259dab
5
5
  SHA512:
6
- metadata.gz: b75dca182871ab46fc25b11a32d4373104dc994fde0aefa3887d6b51e4eecf69260c7b740963703ab0383dbbbc196809b5293e7ea08e949c1883553677709a7c
7
- data.tar.gz: e959185d687ed0134e3358804c6390dbb4067aa77b1f6184c33b01918935721b9451b51d297c10b444043305b6779eea04cc372d840266f1cd54f0995255459e
6
+ metadata.gz: 6a02d21a0267e5bb53b3fed534f40949a7d91d76caf3cea443af7d9169c8b88984332004d05c227df2248212a659df1bc0e16148cdfa66e1bc37883e3a236c11
7
+ data.tar.gz: e92d85dc7eb80cd8c4c99bb2937d0a4408e0e522a1716a5263daea3da427056caff4c244b6a1a546e81f6f17884884e414df11b5283998eb876bef06a634ef0d
data/COPYING CHANGED
@@ -1,5 +1,5 @@
1
1
  cmdparse - advanced command line parser supporting commands
2
- Copyright (C) 2004-2015 Thomas Leitner <t_leitner@gmx.at>
2
+ Copyright (C) 2004-2020 Thomas Leitner <t_leitner@gmx.at>
3
3
 
4
4
  Permission is hereby granted, free of charge, to any person obtaining a
5
5
  copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  **cmdparse** - an advanced command line parser using optparse which has support for commands
2
2
 
3
- Copyright (C) 2004-2015 Thomas Leitner
3
+ Copyright (C) 2004-2020 Thomas Leitner
4
4
 
5
5
  ## Description
6
6
 
@@ -11,7 +11,7 @@ to create programs that use such a command line interface.
11
11
  This library, cmdparse, can be used to create such a command line interface. Internally it uses
12
12
  optparse to parse options and it provides a nice API for specifying commands.
13
13
 
14
- See <http://cmdparse.gettalong.org> for detailed information, an extensive tutorial and the API
14
+ See <https://cmdparse.gettalong.org> for detailed information, an extensive tutorial and the API
15
15
  reference!
16
16
 
17
17
 
@@ -21,14 +21,14 @@ You can build the documentation by invoking
21
21
 
22
22
  $ rake doc
23
23
 
24
- This builds the whole documentation and needs webgen >=1.4.0 (http://webgen.gettalong.org) for
24
+ This builds the whole documentation and needs webgen >=1.4.0 (https://webgen.gettalong.org) for
25
25
  building.
26
26
 
27
27
 
28
28
  ## Example Usage
29
29
 
30
30
  There is an example of how to use cmdparse in the `example/net.rb` file. A detailed walkthrough of
31
- what each part does can be found on <http://cmdparse.gettalong.org/tutorial.html>.
31
+ what each part does can be found on <https://cmdparse.gettalong.org/tutorial.html>.
32
32
 
33
33
 
34
34
  ## License
@@ -58,5 +58,5 @@ If you don't want to use RubyGems, use these commands:
58
58
 
59
59
  Author: Thomas Leitner
60
60
 
61
- * Web: <http://cmdparse.gettalong.org>
61
+ * Web: <https://cmdparse.gettalong.org>
62
62
  * e-Mail: <mailto:t_leitner@gmx.at>
data/Rakefile CHANGED
@@ -107,13 +107,12 @@ namespace :dev do
107
107
  s.add_development_dependency "webgen", "~> 1.4"
108
108
 
109
109
  #### Documentation
110
- s.has_rdoc = true
111
110
  s.rdoc_options = ['--line-numbers', '--main', 'CmdParse::CommandParser']
112
111
 
113
112
  #### Author and project details
114
113
  s.author = "Thomas Leitner"
115
114
  s.email = "t_leitner@gmx.at"
116
- s.homepage = "http://cmdparse.gettalong.org"
115
+ s.homepage = "https://cmdparse.gettalong.org"
117
116
  end
118
117
 
119
118
  Gem::PackageTask.new(spec) do |pkg|
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.0.2
1
+ 3.0.7
@@ -270,7 +270,55 @@ $logo-color: #3A974D;
270
270
  /***************************************/
271
271
  /***************************************/
272
272
 
273
- @import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400italic,700|Open+Sans+Condensed:300,700");
273
+ @font-face {
274
+ font-family: 'Source Sans Pro';
275
+ font-style: normal;
276
+ font-weight: 400;
277
+ src: local('Source Sans Pro Regular'), local('SourceSansPro-Regular'),
278
+ url('//static.gettalong.org/fonts/source-sans-pro-v11-latin-ext_latin-regular.woff2') format('woff2'),
279
+ url('//static.gettalong.org/fonts/source-sans-pro-v11-latin-ext_latin-regular.woff') format('woff'),
280
+ url('//static.gettalong.org/fonts/source-sans-pro-v11-latin-ext_latin-regular.ttf') format('truetype');
281
+ }
282
+
283
+ @font-face {
284
+ font-family: 'Source Sans Pro';
285
+ font-style: italic;
286
+ font-weight: 400;
287
+ src: local('Source Sans Pro Italic'), local('SourceSansPro-Italic'),
288
+ url('//static.gettalong.org/fonts/source-sans-pro-v11-latin-ext_latin-italic.woff2') format('woff2'),
289
+ url('//static.gettalong.org/fonts/source-sans-pro-v11-latin-ext_latin-italic.woff') format('woff'),
290
+ url('//static.gettalong.org/fonts/source-sans-pro-v11-latin-ext_latin-italic.ttf') format('truetype');
291
+ }
292
+
293
+ @font-face {
294
+ font-family: 'Source Sans Pro';
295
+ font-style: normal;
296
+ font-weight: 700;
297
+ src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'),
298
+ url('//static.gettalong.org/fonts/source-sans-pro-v11-latin-ext_latin-700.woff2') format('woff2'),
299
+ url('//static.gettalong.org/fonts/source-sans-pro-v11-latin-ext_latin-700.woff') format('woff'),
300
+ url('//static.gettalong.org/fonts/source-sans-pro-v11-latin-ext_latin-700.ttf') format('truetype');
301
+ }
302
+
303
+ @font-face {
304
+ font-family: 'Open Sans Condensed';
305
+ font-style: normal;
306
+ font-weight: 300;
307
+ src: local('Open Sans Condensed Light'), local('OpenSansCondensed-Light'),
308
+ url('//static.gettalong.org/fonts/open-sans-condensed-v12-latin-ext_latin-300.woff2') format('woff2'),
309
+ url('//static.gettalong.org/fonts/open-sans-condensed-v12-latin-ext_latin-300.woff') format('woff'),
310
+ url('//static.gettalong.org/fonts/open-sans-condensed-v12-latin-ext_latin-300.ttf') format('truetype');
311
+ }
312
+
313
+ @font-face {
314
+ font-family: 'Open Sans Condensed';
315
+ font-style: normal;
316
+ font-weight: 700;
317
+ src: local('Open Sans Condensed Bold'), local('OpenSansCondensed-Bold'),
318
+ url('//static.gettalong.org/fonts/open-sans-condensed-v12-latin-ext_latin-700.woff2') format('woff2'),
319
+ url('//static.gettalong.org/fonts/open-sans-condensed-v12-latin-ext_latin-700.woff') format('woff'),
320
+ url('//static.gettalong.org/fonts/open-sans-condensed-v12-latin-ext_latin-700.ttf') format('truetype');
321
+ }
274
322
 
275
323
  /*********************************************************************************/
276
324
  /* Basic */
@@ -24,7 +24,7 @@
24
24
 
25
25
  <!-- Sidebar -->
26
26
  <div id="sidebar">
27
- <h1 id="logo"><a href="{relocatable: /}">cmdparse</a><br /><span>v 3.0.2</span></h1>
27
+ <h1 id="logo"><a href="{relocatable: /}">cmdparse</a><br /><span>v 3.0.7</span></h1>
28
28
 
29
29
  <!-- Nav -->
30
30
  <nav id="nav">
@@ -44,12 +44,13 @@
44
44
 
45
45
  <!-- Copyright -->
46
46
  <ul id="copyright">
47
- <li itemscope="" itemtype="http://schema.org/Person">&copy; 2004-2015
47
+ <li itemscope="" itemtype="http://schema.org/Person">&copy; 2004-2020
48
48
  <span itemprop="name">Thomas Leitner</span>
49
49
  <meta itemprop="email" content="t_leitner@gmx.at" />
50
- <meta itemprop="url" content="http://gettalong.org" />
50
+ <meta itemprop="url" content="https://gettalong.org" />
51
51
  </li>
52
- <li>Generated by <a href="http://webgen.gettalong.org">webgen</a><br /> on <b>{date: }</b></li>
52
+ <li><a href="https://gettalong.org/legal.html">Legal Notice</a> | <a href="https://gettalong.org/privacy.html">Privacy Policy</a></li>
53
+ <li>Generated by <a href="https://webgen.gettalong.org">webgen</a><br /> on <b>{date: }</b></li>
53
54
  <li>Design based on<br />Striped by <a href="http://html5up.net">HTML5 UP</a></li>
54
55
  </ul>
55
56
 
@@ -57,15 +58,20 @@
57
58
 
58
59
  </div>
59
60
 
60
- <!-- Start of StatCounter Code for Default Guide -->
61
- <script type="text/javascript">
62
- var sc_project=10338773;
63
- var sc_invisible=1;
64
- var sc_security="7779f3af";
65
- var scJsHost = (("https:" == document.location.protocol) ? "https://secure." : "http://www.");
66
- document.write("<sc"+"ript type='text/javascript' src='" + scJsHost+ "statcounter.com/counter/counter.js'></"+"script>");
67
- </script>
68
- <noscript><div class="statcounter"><a title="website statistics" href="http://statcounter.com/" target="_blank"><img class="statcounter" src="//c.statcounter.com/10338773/0/7779f3af/1/" alt="website statistics" /></a></div></noscript>
69
- <!-- End of StatCounter Code for Default Guide -->
61
+ <script type="text/javascript">
62
+ var _paq = _paq || [];
63
+ _paq.push(["setDoNotTrack", true]);
64
+ _paq.push(['trackPageView']);
65
+ _paq.push(['enableLinkTracking']);
66
+ (function() {
67
+ var u="//stats.gettalong.org/";
68
+ _paq.push(['setTrackerUrl', u+'piwik.php']);
69
+ _paq.push(['setSiteId', '2']);
70
+ var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
71
+ g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
72
+ })();
73
+ </script>
74
+ <noscript><p><img src="//stats.gettalong.org/piwik.php?idsite=2&amp;rec=1" style="border:0;" alt="" /></p></noscript>
75
+
70
76
  </body>
71
77
  </html>
@@ -91,7 +91,7 @@ end.flatten.join("\n")
91
91
  ## Author
92
92
 
93
93
  * **Thomas Leitner**
94
- * Web: <http://cmdparse.gettalong.org>
94
+ * Web: <https://cmdparse.gettalong.org>
95
95
  * e-Mail: <mailto:t_leitner@gmx.at>
96
96
 
97
97
 
@@ -1,3 +1,10 @@
1
+ --- paths
2
+ [/**/*.js, /**/*.css]:
3
+ modified_at_in_dest_path: true
4
+
5
+ /**/*.scss:
6
+ modified_at_in_dest_path: true
7
+
1
8
  --- alcn
2
9
  /api/:
3
10
  title: API
@@ -12,3 +19,5 @@
12
19
  /api/**/index*.html:
13
20
  in_menu: false
14
21
 
22
+ /**/*.css:
23
+ pipeline: scss,cssminify
@@ -5,6 +5,44 @@ sort_info: 8
5
5
  ---
6
6
  ## News
7
7
 
8
+ ### 2020-12-08 cmdparse 3.0.7 released!
9
+
10
+ Changes:
11
+
12
+ * Behave well when interrupted via <kbd>Control+C</kbd> and when used in a pipe that gets closed
13
+ (thanks to postmodern)
14
+
15
+
16
+ ### 2020-05-02 cmdparse 3.0.6 released!
17
+
18
+ Changes:
19
+
20
+ * Fix OptParse integration with regards to error handling (thanks to Damien Robert)
21
+
22
+
23
+ ### 2020-01-31 cmdparse 3.0.5 released!
24
+
25
+ Changes:
26
+
27
+ * Fix warning on Ruby 2.7 (thanks to Damien Robert)
28
+
29
+
30
+ ### 2018-12-22 cmdparse 3.0.4 released!
31
+
32
+ Changes:
33
+
34
+ * Fix bug in help output generation when a word is longer than the available space - thanks to
35
+ Damien Robert for the bug report and pull request
36
+
37
+
38
+ ### 2017-01-13 cmdparse 3.0.3 released!
39
+
40
+ Changes:
41
+
42
+ * Fix bug introduced during refactoring that affected help output (continuation lines were missing)
43
+ - thanks to Andrew Talbot for reporting the bug
44
+
45
+
8
46
  ### 2016-12-28 cmdparse 3.0.2 released!
9
47
 
10
48
  Changes:
@@ -1,7 +1,7 @@
1
1
  #
2
2
  #--
3
3
  # cmdparse: advanced command line parser supporting commands
4
- # Copyright (C) 2004-2015 Thomas Leitner
4
+ # Copyright (C) 2004-2020 Thomas Leitner
5
5
  #
6
6
  # This file is part of cmdparse which is licensed under the MIT.
7
7
  #++
@@ -47,7 +47,7 @@ end
47
47
  module CmdParse
48
48
 
49
49
  # The version of this cmdparse implemention
50
- VERSION = '3.0.2'.freeze
50
+ VERSION = '3.0.7'.freeze
51
51
 
52
52
 
53
53
  # Base class for all cmdparse errors.
@@ -157,6 +157,10 @@ module CmdParse
157
157
  EOF
158
158
  end
159
159
 
160
+ def get_candidates(id, &b)
161
+ @list.reverse_each {|list| list.get_candidates(id, &b)}
162
+ end
163
+
160
164
  end
161
165
 
162
166
  # === Base class for commands
@@ -624,8 +628,8 @@ module CmdParse
624
628
 
625
629
  content.split(/\n\n/).map do |paragraph|
626
630
  lines = []
627
- unless paragraph.empty?
628
- unless (str = paragraph.slice!(pattern).sub(/[ \n]\z/, ''))
631
+ until paragraph.empty?
632
+ unless (str = paragraph.slice!(pattern)) and (str = str.sub(/[ \n]\z/, ''))
629
633
  str = paragraph.slice!(0, line_length)
630
634
  end
631
635
  lines << (lines.empty? && !indent_first_line ? '' : ' ' * indent) + str.tr("\n", ' ')
@@ -841,8 +845,8 @@ module CmdParse
841
845
  # Adds a top level command.
842
846
  #
843
847
  # See Command#add_command for detailed invocation information.
844
- def add_command(*args, &block)
845
- @main_command.add_command(*args, &block)
848
+ def add_command(*args, **kws, &block)
849
+ @main_command.add_command(*args, **kws, &block)
846
850
  end
847
851
 
848
852
  # Parses the command line arguments.
@@ -894,6 +898,10 @@ module CmdParse
894
898
  @main_command.commands['help'].execute(*@current_command.command_chain.map(&:name))
895
899
  end
896
900
  exit(64) # FreeBSD standard exit error for "command was used incorrectly"
901
+ rescue Interrupt
902
+ exit(128 + 2)
903
+ rescue Errno::EPIPE
904
+ # Behave well when used in a pipe
897
905
  ensure
898
906
  @current_command = nil
899
907
  end
@@ -1,6 +1,6 @@
1
1
  # -*- ruby -*-
2
2
 
3
- website.config['website.base_url'] = 'http://cmdparse.gettalong.org/'
3
+ website.config['website.base_url'] = 'https://cmdparse.gettalong.org/'
4
4
  website.config['sources'] =[['/', :file_system, 'doc']]
5
5
  website.config['destination'] = [:file_system, 'htmldoc']
6
6
  website.config['website.tmpdir'] = 'webgen-tmp'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cmdparse
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.2
4
+ version: 3.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Leitner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-28 00:00:00.000000000 Z
11
+ date: 2020-12-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: webgen
@@ -53,7 +53,7 @@ files:
53
53
  - lib/cmdparse.rb
54
54
  - setup.rb
55
55
  - webgen.config
56
- homepage: http://cmdparse.gettalong.org
56
+ homepage: https://cmdparse.gettalong.org
57
57
  licenses:
58
58
  - MIT
59
59
  metadata: {}
@@ -75,8 +75,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
75
75
  - !ruby/object:Gem::Version
76
76
  version: '0'
77
77
  requirements: []
78
- rubyforge_project:
79
- rubygems_version: 2.6.8
78
+ rubygems_version: 3.0.3
80
79
  signing_key:
81
80
  specification_version: 4
82
81
  summary: Advanced command line parser supporting commands