l43_simple_color 0.2.0 → 0.2.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/bin/simple_color +2 -2
- data/lib/l43/simple_color/cli.rb +4 -11
- data/lib/l43/simple_color/colorize.rb +5 -13
- data/lib/l43/simple_color/file_colorizer.rb +44 -0
- data/lib/l43/simple_color/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 10eeebfdefb2b76a9368c0e9dff8af58c2a4e2898b53212b0fb1df37541be809
|
|
4
|
+
data.tar.gz: b98c3bf606f3421855b385dba90dd3ed41aac941c65656053e4c627d18e263bc
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: bc0f9f77944abe101cad1851f5c81a4b14ed7aa02719b494ad374714e47cdce11060467a15fe57e9bd63158ac3907697a1c524247db7b9eba59dec349bc2777b
|
|
7
|
+
data.tar.gz: dda276f2001d5e90932606dda820d8df70f59be2263b6d73139c6acbf08fa612f9b5dbd0b5aedfae50824d1d571b1c113be5b356c0a2a534120fe3e323ce3754
|
data/bin/simple_color
CHANGED
data/lib/l43/simple_color/cli.rb
CHANGED
|
@@ -1,20 +1,13 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require_relative '
|
|
3
|
+
require_relative 'file_colorizer'
|
|
4
4
|
module L43
|
|
5
5
|
module SimpleColor
|
|
6
6
|
module Cli extend self
|
|
7
|
-
include Colorize
|
|
8
7
|
def run(argv)
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
private
|
|
16
|
-
def make_device(fn)
|
|
17
|
-
(fn ? File.open(fn) : $stdin).each(chomp: true)
|
|
8
|
+
SimpleColor.xcolorize_file(argv.first).each do |line, _|
|
|
9
|
+
puts line
|
|
10
|
+
end
|
|
18
11
|
end
|
|
19
12
|
end
|
|
20
13
|
end
|
|
@@ -14,26 +14,18 @@ module L43
|
|
|
14
14
|
ColorSpecRgx = %r{(?:\s|\A):[__[:alnum:]]+(?:\s|\z)}
|
|
15
15
|
Meta = %r{[:\s]+}
|
|
16
16
|
|
|
17
|
-
def colorize(str, reset: true, extended: false)
|
|
17
|
+
def colorize(str, reset: true, extended: false, raises: false)
|
|
18
18
|
case _colorize(str, extended:)
|
|
19
19
|
in String => encoded
|
|
20
20
|
reset ? encoded + get_chunk(:reset) : encoded
|
|
21
|
-
in error
|
|
22
|
-
error
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def colorize!(str, reset: true, extended: false)
|
|
27
|
-
case colorize(str, reset:, extended:)
|
|
28
|
-
in [:error, msg]
|
|
29
|
-
raise BadColor, msg
|
|
30
|
-
in result
|
|
31
|
-
result
|
|
21
|
+
in [:error, msg] => error
|
|
22
|
+
raises ? raise(BadColor, msg) : error
|
|
32
23
|
end
|
|
33
24
|
end
|
|
34
25
|
|
|
26
|
+
def colorize!(str, reset: true, extended: false) = colorize(str, raises: true, reset:, extended:)
|
|
35
27
|
def xcolorize(str, reset: true) = colorize(str, reset:, extended: true)
|
|
36
|
-
def xcolorize!(str, reset: true) = colorize
|
|
28
|
+
def xcolorize!(str, reset: true) = colorize(str, reset:, extended: true, raises: true)
|
|
37
29
|
|
|
38
30
|
private
|
|
39
31
|
def _colorize(str, reset: true, extended: false)
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'l43/simple_color/colorize'
|
|
4
|
+
module L43
|
|
5
|
+
module SimpleColor
|
|
6
|
+
class FileColorizer
|
|
7
|
+
include Colorize
|
|
8
|
+
attr_reader :extended, :fn, :reset, :stream
|
|
9
|
+
|
|
10
|
+
def colorize_file(&blk)
|
|
11
|
+
return stream unless blk
|
|
12
|
+
|
|
13
|
+
stream.map(&blk)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
private
|
|
17
|
+
def initialize(fn, reset:, extended: false)
|
|
18
|
+
@extended = extended
|
|
19
|
+
@fn = fn
|
|
20
|
+
@reset = reset
|
|
21
|
+
@stream = (fn ? File.open(fn) : $stdin).each(chomp: true).with_index.lazy.map(&colorize_line)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def colorize_line
|
|
25
|
+
-> line, idx do
|
|
26
|
+
# puts("LINE: #{line}")
|
|
27
|
+
case colorize(line, reset:, extended:)
|
|
28
|
+
in :error, msg
|
|
29
|
+
raise BadColor, msg + "\n\tin file:#{fn || "<:stdin>"}, line #{line.inspect}:#{idx.succ})"
|
|
30
|
+
in colored
|
|
31
|
+
[colored, idx.succ]
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def colorize_file(fn=nil, reset: true, &blk) =
|
|
38
|
+
FileColorizer.new(fn, reset:).colorize_file(&blk)
|
|
39
|
+
|
|
40
|
+
def xcolorize_file(fn=nil, reset: true, &blk) =
|
|
41
|
+
FileColorizer.new(fn, reset:, extended: true).colorize_file(&blk)
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
# SPDX-License-Identifier: AGPL-3.0-or-later
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: l43_simple_color
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Robert Dober
|
|
@@ -40,6 +40,7 @@ files:
|
|
|
40
40
|
- lib/l43/simple_color/cli.rb
|
|
41
41
|
- lib/l43/simple_color/color_data.rb
|
|
42
42
|
- lib/l43/simple_color/colorize.rb
|
|
43
|
+
- lib/l43/simple_color/file_colorizer.rb
|
|
43
44
|
- lib/l43/simple_color/version.rb
|
|
44
45
|
homepage: https://www.codeberg.org/lab419/l43_simple_color.git
|
|
45
46
|
licenses:
|