l43_rmap 0.1.2 → 0.1.3

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
2
  SHA256:
3
- metadata.gz: b95afae624f3dd5ce13c2761678d547694c5a9e11a80ea7ca23fb8cf94604b53
4
- data.tar.gz: d813c9e6dc4186232cdacf3412d14c869cc40ec055a9f240e9a0774bed781fd8
3
+ metadata.gz: 9bd7417484c513b2d71b9e69d4a9eb88bc452680df0c0084598177116915d6fa
4
+ data.tar.gz: ceb5ecb1605bcaa3d3e6e2210866321bbfc8500438df7cc3965f207c74cf62d6
5
5
  SHA512:
6
- metadata.gz: a7d2d9ac1512236a1a3d8f393284392e43bebaf58423842d61cff0f9ccc5b32b59457531d4791c6af26f0868abf02669e590812300f632c99be028852eb8cb73
7
- data.tar.gz: 03d07b9bf563eb0ddb6a4cf2545cc66aba27a0d478745761756190d15f338275f62ac3b1533429092e2b8461855b6627a107525dcd89077857d727d5889d2627
6
+ metadata.gz: 25e4f5a82994057fc6c60a09455845f4f7fa5c8b070b59032bab278763109d984f6494f94abdc0722af595ba918d9c35fc14d080360f262594a99a5e982ac43f
7
+ data.tar.gz: 4415aa7b21e450d857d5a8e7ff06f14e8bbbcc446f9ba7376afd48eecb4de133cfb9372cd4a30cd82d362741d02a7d85fd8561c720b9fabfdc5bf2ff16d8318b
@@ -5,6 +5,7 @@ module L43Rmap
5
5
  module Color
6
6
  def arg(name) = [:bold, :blue, "<#{name}>", :reset]
7
7
  def arg1(name) = [:bold, :blue, name, :reset]
8
+ def dimmed(str) = [:dim, "(", str, ")", :reset]
8
9
 
9
10
  def kwd(name) = [" kwd ", :bold, :cyan, name, ":", :reset]
10
11
 
data/lib/l43_rmap/cli.rb CHANGED
@@ -6,6 +6,7 @@ require_relative '../l43_rmap'
6
6
  require_relative 'predefined_patterns'
7
7
  require_relative 'cli/color'
8
8
  require_relative 'cli/help'
9
+ require_relative 'version'
9
10
  module L43Rmap
10
11
  class Cli
11
12
  include L43::SimpleColor
@@ -15,28 +16,14 @@ module L43Rmap
15
16
  attr_reader :args, :kwds, :pattern, :runtime
16
17
 
17
18
  def run(args)
18
- parser.parse(args) => :ok, {kwds:, args:}
19
- @kwds = kwds
20
- @args = args
21
- return help if kwds.help
22
- return help_pattern if kwds.help_pattern
23
- return help_named if kwds.help_named
24
- return help_predefined if kwds.help_predefined
25
- return help_sexp if kwds.help_sexp
26
-
27
- return unless check_args
28
-
29
- return dry_run if kwds.dry_run
30
- replace_pattern_if_predefined
31
- return show_parsed if kwds.parse_only
32
-
33
- _compile
34
- return compiled if kwds.compile_only
35
-
36
- _run
19
+ case parser.parse(args)
20
+ in :ok, {kwds:, args:}
21
+ correct_args(kwds:, args:)
22
+ in :error, message
23
+ puterr(message)
24
+ end
37
25
  end
38
26
 
39
-
40
27
  private
41
28
  def initialize
42
29
  parser
@@ -51,6 +38,7 @@ module L43Rmap
51
38
  .flag(:help_predefined, desc: ["Describe ", :bold, :blue, "predefined patterns"], stop: true)
52
39
  .flag(:help_sexp, desc: ["Describe ", :bold, :blue, "s-expressions"], stop: true)
53
40
  .flag(:randomize, :r, desc: ["Does not write to the ", arg1("output stream"), " immideately but into a buffer, the buffer is then randomized before being printed to ", arg1("output stream")])
41
+ .flag(:version, :v, desc: ["Just print current version ",dimmed(version_string)], stop: true)
54
42
  .section("Options")
55
43
  .keyword(:input, :i, desc: ["file to read from, defaults to ", :bold, :cyan, '$stdin'], default: $stdin)
56
44
  .keyword(:output, :o, desc: ["file to write to, defaults to ", :bold, :cyan, '$stdout'], default: $stdout)
@@ -87,6 +75,28 @@ module L43Rmap
87
75
  :ok
88
76
  end
89
77
 
78
+ def correct_args(kwds:, args:)
79
+ @kwds = kwds
80
+ @args = args
81
+ return help if kwds.help
82
+ return print_version if kwds.version
83
+ return help_pattern if kwds.help_pattern
84
+ return help_named if kwds.help_named
85
+ return help_predefined if kwds.help_predefined
86
+ return help_sexp if kwds.help_sexp
87
+
88
+ return unless check_args
89
+
90
+ return dry_run if kwds.dry_run
91
+ replace_pattern_if_predefined
92
+ return show_parsed if kwds.parse_only
93
+
94
+ _compile
95
+ return compiled if kwds.compile_only
96
+
97
+ _run
98
+ end
99
+
90
100
  def dry_run
91
101
  putcol(:cyan, :bold, {kwds: kwds.to_h}.inspect)
92
102
  putcol(:blue, :bold, {args:}.inspect)
@@ -104,6 +114,13 @@ module L43Rmap
104
114
  end
105
115
 
106
116
  def parser = @__parser__ ||= L43::OptParser.new(with_help: true)
117
+
118
+ def print_version
119
+ putcol(:bold, "rmap: ", :green, version_string)
120
+ :helped
121
+ end
122
+
123
+ def version_string = "v#{VERSION}"
107
124
  end
108
125
  end
109
126
  # SPDX-License-Identifier: AGPL-3.0-or-later
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module L43Rmap
4
- VERSION = '0.1.2'
4
+ VERSION = '0.1.3'
5
5
  end
6
6
  # SPDX-License-Identifier: AGPL-3.0-or-later
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: l43_rmap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Dober