l43_simple_color 0.2.1 → 0.2.2
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/lib/l43/simple_color/color_data.rb +43 -253
- data/lib/l43/simple_color/color_definitions.rb +255 -0
- data/lib/l43/simple_color/colorize.rb +9 -9
- 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: bff60b5a27296ad1f63e044e336e345e761de3421632cd1ec36b3be1af95f42b
|
|
4
|
+
data.tar.gz: e1a6f5991a0fb3f12f3bf0589192f21cd351f12611b0d4c2a8cfdb7e803030ee
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f754bcaa42b71a486d8b50feac43efb1e1f08eaed3e6fd54ec9597d9a47e636c5b2e55918dfb8351661366bbafe163068ed0849ad6e442362be54953b6509257
|
|
7
|
+
data.tar.gz: 1507d8f78ca055beacdd9d0ddc578d9871ad536f33b52d6aff6a36cced5d95f082c2dc355e39e47cb82cc4186e3e2918dd709de7fd3e96b991e22d4a7150f88d
|
|
@@ -1,262 +1,18 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require 'l43/simple_color/color_definitions'
|
|
3
4
|
module L43
|
|
4
5
|
module SimpleColor
|
|
5
6
|
BadColor = Class.new(RuntimeError)
|
|
6
7
|
|
|
7
8
|
module ColorData
|
|
8
|
-
ANSI_CODE_SPLITTING_STRING = "__"
|
|
9
|
-
|
|
10
|
-
CSI = "\e["
|
|
11
|
-
|
|
12
|
-
Bold = "\x1b[1m"
|
|
13
|
-
Dim = "\x1b[2m"
|
|
14
|
-
Reset = "\x1b[0m"
|
|
15
|
-
Underline = "\x1b[4m"
|
|
16
|
-
|
|
17
|
-
Colors = {
|
|
18
|
-
black: "\x1b[30m",
|
|
19
|
-
blue: "\x1b[34m",
|
|
20
|
-
cyan: "\x1b[36m",
|
|
21
|
-
green: "\x1b[32m",
|
|
22
|
-
magenta: "\x1b[35m",
|
|
23
|
-
red: "\x1b[31m",
|
|
24
|
-
white: "\x1b[37m",
|
|
25
|
-
yellow: "\x1b[33m",
|
|
26
|
-
|
|
27
|
-
bgblack: "\x1b[40m",
|
|
28
|
-
bgblue: "\x1b[44m",
|
|
29
|
-
bgcyan: "\x1b[46m",
|
|
30
|
-
bggreen: "\x1b[42m",
|
|
31
|
-
bgmagenta: "\x1b[45m",
|
|
32
|
-
bgred: "\x1b[41m",
|
|
33
|
-
bgwhite: "\x1b[47m",
|
|
34
|
-
bgyellow: "\x1b[43m",
|
|
35
|
-
|
|
36
|
-
b: Bold,
|
|
37
|
-
bold: Bold,
|
|
38
|
-
d: Dim,
|
|
39
|
-
dim: Dim,
|
|
40
|
-
r: Reset,
|
|
41
|
-
reset: Reset,
|
|
42
|
-
ul: Underline,
|
|
43
|
-
underline: Underline,
|
|
44
|
-
}
|
|
45
9
|
|
|
46
|
-
|
|
47
|
-
aqua: [0, 255, 255],
|
|
48
|
-
aquamarine1: [95, 255, 215],
|
|
49
|
-
aquamarine3: [95, 215, 175],
|
|
50
|
-
azure1: [240, 255, 255],
|
|
51
|
-
blue1: [0, 0, 255],
|
|
52
|
-
blue3: [0, 0, 175],
|
|
53
|
-
blue_violet: [95, 0, 255],
|
|
54
|
-
cadet_blue: [95, 175, 135],
|
|
55
|
-
chartreuse1: [135, 255, 0],
|
|
56
|
-
chartreuse2: [95, 255, 0],
|
|
57
|
-
chartreuse3: [95, 175, 0],
|
|
58
|
-
chartreuse4: [95, 135, 0],
|
|
59
|
-
cornflower_blue: [95, 135, 255],
|
|
60
|
-
cornsilk1: [255, 255, 215],
|
|
61
|
-
cyan1: [0, 255, 255],
|
|
62
|
-
cyan2: [0, 255, 215],
|
|
63
|
-
cyan3: [0, 215, 175],
|
|
64
|
-
dark_blue: [0, 0, 135],
|
|
65
|
-
dark_cyan: [0, 175, 135],
|
|
66
|
-
dark_goldenrod: [175, 135, 0],
|
|
67
|
-
dark_green: [0, 95, 0],
|
|
68
|
-
dark_khaki: [175, 175, 95],
|
|
69
|
-
dark_magenta: [135, 0, 135],
|
|
70
|
-
dark_olive_green1: [215, 255, 95],
|
|
71
|
-
dark_olive_green2: [175, 255, 95],
|
|
72
|
-
dark_olive_green3: [135, 175, 95],
|
|
73
|
-
dark_orange3: [175, 95, 0],
|
|
74
|
-
dark_orange: [255, 135, 0],
|
|
75
|
-
dark_red: [95, 0, 0],
|
|
76
|
-
dark_sea_green1: [175, 255, 215],
|
|
77
|
-
dark_sea_green2: [175, 215, 175],
|
|
78
|
-
dark_sea_green3: [135, 215, 175],
|
|
79
|
-
dark_sea_green4: [95, 135, 95],
|
|
80
|
-
dark_sea_green: [135, 175, 135],
|
|
81
|
-
dark_slate_gray1: [135, 255, 255],
|
|
82
|
-
dark_slate_gray2: [95, 255, 255],
|
|
83
|
-
dark_slate_gray3: [135, 215, 215],
|
|
84
|
-
dark_turquoise: [0, 215, 215],
|
|
85
|
-
dark_violet: [135, 0, 215],
|
|
86
|
-
deep_pink1: [255, 0, 135],
|
|
87
|
-
deep_pink2: [255, 0, 95],
|
|
88
|
-
deep_pink3: [215, 0, 95],
|
|
89
|
-
deep_pink4: [95, 0, 95],
|
|
90
|
-
deep_sky_blue1: [0, 175, 255],
|
|
91
|
-
deep_sky_blue2: [0, 175, 215],
|
|
92
|
-
deep_sky_blue3: [0, 135, 175],
|
|
93
|
-
deep_sky_blue4: [0, 95, 95],
|
|
94
|
-
dodger_blue1: [0, 135, 255],
|
|
95
|
-
dodger_blue2: [0, 95, 255],
|
|
96
|
-
dodger_blue3: [0, 95, 215],
|
|
97
|
-
fuchsia: [255, 0, 255],
|
|
98
|
-
gold1: [255, 215, 0],
|
|
99
|
-
gold3: [175, 175, 0],
|
|
100
|
-
green1: [0, 255, 0],
|
|
101
|
-
green3: [0, 175, 0],
|
|
102
|
-
green4: [0, 135, 0],
|
|
103
|
-
green_yellow: [175, 255, 0],
|
|
104
|
-
grey0: [0, 0, 0],
|
|
105
|
-
grey100: [255, 255, 255],
|
|
106
|
-
grey11: [28, 28, 28],
|
|
107
|
-
grey15: [38, 38, 38],
|
|
108
|
-
grey19: [48, 48, 48],
|
|
109
|
-
grey23: [58, 58, 58],
|
|
110
|
-
grey27: [68, 68, 68],
|
|
111
|
-
grey30: [78, 78, 78],
|
|
112
|
-
grey35: [88, 88, 88],
|
|
113
|
-
grey37: [95, 95, 95],
|
|
114
|
-
grey39: [98, 98, 98],
|
|
115
|
-
grey3: [8, 8, 8],
|
|
116
|
-
grey42: [108, 108, 108],
|
|
117
|
-
grey46: [118, 118, 118],
|
|
118
|
-
grey50: [128, 128, 128],
|
|
119
|
-
grey53: [135, 135, 135],
|
|
120
|
-
grey54: [138, 138, 138],
|
|
121
|
-
grey58: [148, 148, 148],
|
|
122
|
-
grey62: [158, 158, 158],
|
|
123
|
-
grey63: [175, 135, 175],
|
|
124
|
-
grey66: [168, 168, 168],
|
|
125
|
-
grey69: [175, 175, 175],
|
|
126
|
-
grey70: [178, 178, 178],
|
|
127
|
-
grey74: [188, 188, 188],
|
|
128
|
-
grey78: [198, 198, 198],
|
|
129
|
-
grey7: [18, 18, 18],
|
|
130
|
-
grey82: [208, 208, 208],
|
|
131
|
-
grey84: [215, 215, 215],
|
|
132
|
-
grey85: [218, 218, 218],
|
|
133
|
-
grey89: [228, 228, 228],
|
|
134
|
-
grey93: [238, 238, 238],
|
|
135
|
-
grey: [128, 128, 128],
|
|
136
|
-
honeydew2: [215, 255, 215],
|
|
137
|
-
hot_pink2: [215, 95, 175],
|
|
138
|
-
hot_pink3: [175, 95, 135],
|
|
139
|
-
hot_pink: [255, 95, 175],
|
|
140
|
-
indian_red1: [255, 95, 95],
|
|
141
|
-
indian_red: [175, 95, 95],
|
|
142
|
-
khaki1: [255, 255, 135],
|
|
143
|
-
khaki3: [215, 215, 95],
|
|
144
|
-
light_coral: [255, 135, 135],
|
|
145
|
-
light_cyan1: [215, 255, 255],
|
|
146
|
-
light_cyan3: [175, 215, 215],
|
|
147
|
-
light_goldenrod1: [255, 255, 95],
|
|
148
|
-
light_goldenrod2: [215, 215, 135],
|
|
149
|
-
light_goldenrod3: [215, 175, 95],
|
|
150
|
-
light_green: [135, 255, 95],
|
|
151
|
-
light_pink1: [255, 175, 175],
|
|
152
|
-
light_pink3: [215, 135, 135],
|
|
153
|
-
light_pink4: [135, 95, 95],
|
|
154
|
-
light_salmon1: [255, 175, 135],
|
|
155
|
-
light_salmon3: [175, 135, 95],
|
|
156
|
-
light_sea_green: [0, 175, 175],
|
|
157
|
-
light_sky_blue1: [175, 215, 255],
|
|
158
|
-
light_sky_blue3: [135, 175, 175],
|
|
159
|
-
light_slate_blue: [135, 135, 255],
|
|
160
|
-
light_slate_grey: [135, 135, 175],
|
|
161
|
-
light_steel_blue1: [215, 215, 255],
|
|
162
|
-
light_steel_blue3: [175, 175, 215],
|
|
163
|
-
light_steel_blue: [175, 175, 255],
|
|
164
|
-
light_yellow3: [215, 215, 175],
|
|
165
|
-
lime: [0, 255, 0],
|
|
166
|
-
magenta1: [255, 0, 255],
|
|
167
|
-
magenta2: [215, 0, 255],
|
|
168
|
-
magenta3: [175, 0, 175],
|
|
169
|
-
maroon: [128, 0, 0],
|
|
170
|
-
medium_orchid1: [215, 95, 255],
|
|
171
|
-
medium_orchid3: [175, 95, 175],
|
|
172
|
-
medium_orchid: [175, 95, 215],
|
|
173
|
-
medium_purple1: [175, 135, 255],
|
|
174
|
-
medium_purple2: [175, 95, 255],
|
|
175
|
-
medium_purple3: [135, 95, 175],
|
|
176
|
-
medium_purple4: [95, 95, 135],
|
|
177
|
-
medium_purple: [135, 135, 215],
|
|
178
|
-
medium_spring_green: [0, 255, 175],
|
|
179
|
-
medium_turquoise: [95, 215, 215],
|
|
180
|
-
medium_violet_red: [175, 0, 135],
|
|
181
|
-
misty_rose1: [255, 215, 215],
|
|
182
|
-
misty_rose3: [215, 175, 175],
|
|
183
|
-
navajo_white1: [255, 215, 175],
|
|
184
|
-
navajo_white3: [175, 175, 135],
|
|
185
|
-
navy: [0, 0, 128],
|
|
186
|
-
navy_blue: [0, 0, 95],
|
|
187
|
-
olive: [128, 128, 0],
|
|
188
|
-
orange: [255, 128, 0],
|
|
189
|
-
orange1: [255, 175, 0],
|
|
190
|
-
orange3: [215, 135, 0],
|
|
191
|
-
orange4: [95, 95, 0],
|
|
192
|
-
orange_red1: [255, 95, 0],
|
|
193
|
-
orchid1: [255, 135, 255],
|
|
194
|
-
orchid2: [255, 135, 215],
|
|
195
|
-
orchid: [215, 95, 215],
|
|
196
|
-
pale_green1: [135, 255, 175],
|
|
197
|
-
pale_green3: [95, 215, 95],
|
|
198
|
-
pale_turquoise1: [175, 255, 255],
|
|
199
|
-
pale_turquoise4: [95, 135, 135],
|
|
200
|
-
pale_violet_red1: [255, 135, 175],
|
|
201
|
-
pink1: [255, 175, 215],
|
|
202
|
-
pink3: [215, 135, 175],
|
|
203
|
-
plum1: [255, 175, 255],
|
|
204
|
-
plum2: [215, 175, 255],
|
|
205
|
-
plum3: [215, 135, 215],
|
|
206
|
-
plum4: [135, 95, 135],
|
|
207
|
-
purple3: [95, 0, 215],
|
|
208
|
-
purple4: [95, 0, 135],
|
|
209
|
-
purple: [128, 0, 128],
|
|
210
|
-
red1: [255, 0, 0],
|
|
211
|
-
red3: [175, 0, 0],
|
|
212
|
-
rosy_brown: [175, 135, 135],
|
|
213
|
-
royal_blue1: [95, 95, 255],
|
|
214
|
-
salmon1: [255, 135, 95],
|
|
215
|
-
sandy_brown: [255, 175, 95],
|
|
216
|
-
sea_green1: [95, 255, 135],
|
|
217
|
-
sea_green2: [95, 255, 95],
|
|
218
|
-
sea_green3: [95, 215, 135],
|
|
219
|
-
silver: [192, 192, 192],
|
|
220
|
-
sky_blue1: [135, 215, 255],
|
|
221
|
-
sky_blue2: [135, 175, 255],
|
|
222
|
-
sky_blue3: [95, 175, 215],
|
|
223
|
-
slate_blue1: [135, 95, 255],
|
|
224
|
-
slate_blue3: [95, 95, 175],
|
|
225
|
-
spring_green1: [0, 255, 135],
|
|
226
|
-
spring_green2: [0, 215, 135],
|
|
227
|
-
spring_green3: [0, 175, 95],
|
|
228
|
-
spring_green4: [0, 135, 95],
|
|
229
|
-
steel_blue1: [95, 175, 255],
|
|
230
|
-
steel_blue3: [95, 135, 215],
|
|
231
|
-
steel_blue: [95, 135, 175],
|
|
232
|
-
tan: [215, 175, 135],
|
|
233
|
-
teal: [0, 128, 128],
|
|
234
|
-
thistle1: [255, 215, 255],
|
|
235
|
-
thistle3: [215, 175, 215],
|
|
236
|
-
turquoise2: [0, 215, 255],
|
|
237
|
-
turquoise4: [0, 135, 135],
|
|
238
|
-
violet: [215, 135, 255],
|
|
239
|
-
wheat1: [255, 255, 175],
|
|
240
|
-
wheat4: [135, 135, 95],
|
|
241
|
-
yellow1: [255, 255, 0],
|
|
242
|
-
yellow2: [215, 255, 0],
|
|
243
|
-
yellow3: [175, 215, 0],
|
|
244
|
-
yellow4: [135, 135, 0]
|
|
245
|
-
}.map do |k, rgb|
|
|
246
|
-
[k, [CSI, "38;2;", *rgb.join(";"), "m"].join]
|
|
247
|
-
end.to_h
|
|
248
|
-
|
|
249
|
-
ExtendedColors =
|
|
250
|
-
(0..255)
|
|
251
|
-
.map {["color#{it}".to_sym, [CSI, "38;5;", it, "m"].join ]}
|
|
252
|
-
.to_h
|
|
253
|
-
.merge(RGB_COLORS)
|
|
254
|
-
.freeze
|
|
10
|
+
ANSI_CODE_SPLITTING_STRING = "__"
|
|
255
11
|
|
|
256
12
|
def get_chunk(sym, extended: false)
|
|
257
|
-
code = Colors.fetch(sym
|
|
13
|
+
code = Colors.fetch(sym) do
|
|
258
14
|
if extended
|
|
259
|
-
ExtendedColors.fetch(sym
|
|
15
|
+
ExtendedColors.fetch(sym) {
|
|
260
16
|
[:error, "bad color code :#{sym}"]
|
|
261
17
|
}
|
|
262
18
|
else
|
|
@@ -266,6 +22,16 @@ module L43
|
|
|
266
22
|
use_color? ? code : ""
|
|
267
23
|
end
|
|
268
24
|
|
|
25
|
+
# new_sym = scheme.fetch(sym.to_sym) { sym.to_sym }
|
|
26
|
+
# case _get_chunk(new_sym, extended:)
|
|
27
|
+
# in :error, _msg
|
|
28
|
+
# [:error, "bad color code :#{new_sym} (from scheme :#{sym})"]
|
|
29
|
+
# in encoded
|
|
30
|
+
# encoded
|
|
31
|
+
# end
|
|
32
|
+
|
|
33
|
+
# end
|
|
34
|
+
|
|
269
35
|
def get_chunk!(sym, extended: false)
|
|
270
36
|
case get_chunk(sym, extended:)
|
|
271
37
|
in :error, msg
|
|
@@ -275,19 +41,43 @@ module L43
|
|
|
275
41
|
end
|
|
276
42
|
end
|
|
277
43
|
|
|
278
|
-
def get_chunks(sym, extended:)
|
|
279
|
-
sym
|
|
280
|
-
|
|
44
|
+
def get_chunks(sym, extended:, scheme: nil)
|
|
45
|
+
scheme ? _get_chunks_with_scheme(sym, extended:, scheme:) : _get_chunks_wo_scheme(sym, extended:)
|
|
46
|
+
end
|
|
47
|
+
def use_color? = @__use_color__ ||= !ENV['NO_COLOR']
|
|
48
|
+
|
|
49
|
+
private
|
|
50
|
+
|
|
51
|
+
def _get_chunks_wo_scheme(sym, extended:)
|
|
52
|
+
sym.to_s.split(ANSI_CODE_SPLITTING_STRING).map do |chunk|
|
|
53
|
+
case get_chunk(chunk.to_sym, extended:)
|
|
281
54
|
in [:error, _messag] => error
|
|
282
55
|
return error
|
|
283
56
|
in encoded
|
|
284
57
|
encoded
|
|
285
58
|
end
|
|
286
59
|
end
|
|
287
|
-
|
|
60
|
+
.join
|
|
288
61
|
end
|
|
289
62
|
|
|
290
|
-
def
|
|
63
|
+
def _get_chunks_with_scheme(sym, extended:, scheme:)
|
|
64
|
+
sym.to_s.split(ANSI_CODE_SPLITTING_STRING).map do
|
|
65
|
+
new_sym = scheme.fetch(it.to_sym, nil)
|
|
66
|
+
old_sym = it.to_sym if new_sym
|
|
67
|
+
case _get_chunks_wo_scheme(new_sym || it.to_sym, extended:)
|
|
68
|
+
in [:error, message] => error
|
|
69
|
+
if new_sym
|
|
70
|
+
return [:error, [message, "(from scheme :#{old_sym})"].join(" ")]
|
|
71
|
+
else
|
|
72
|
+
return error
|
|
73
|
+
end
|
|
74
|
+
in encoded
|
|
75
|
+
encoded
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
.join
|
|
79
|
+
|
|
80
|
+
end
|
|
291
81
|
end
|
|
292
82
|
end
|
|
293
83
|
end
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module L43
|
|
4
|
+
module SimpleColor
|
|
5
|
+
module ColorData
|
|
6
|
+
CSI = "\e["
|
|
7
|
+
|
|
8
|
+
Bold = "\x1b[1m"
|
|
9
|
+
Dim = "\x1b[2m"
|
|
10
|
+
Reset = "\x1b[0m"
|
|
11
|
+
Underline = "\x1b[4m"
|
|
12
|
+
|
|
13
|
+
Colors = {
|
|
14
|
+
black: "\x1b[30m",
|
|
15
|
+
blue: "\x1b[34m",
|
|
16
|
+
cyan: "\x1b[36m",
|
|
17
|
+
green: "\x1b[32m",
|
|
18
|
+
magenta: "\x1b[35m",
|
|
19
|
+
red: "\x1b[31m",
|
|
20
|
+
white: "\x1b[37m",
|
|
21
|
+
yellow: "\x1b[33m",
|
|
22
|
+
|
|
23
|
+
bgblack: "\x1b[40m",
|
|
24
|
+
bgblue: "\x1b[44m",
|
|
25
|
+
bgcyan: "\x1b[46m",
|
|
26
|
+
bggreen: "\x1b[42m",
|
|
27
|
+
bgmagenta: "\x1b[45m",
|
|
28
|
+
bgred: "\x1b[41m",
|
|
29
|
+
bgwhite: "\x1b[47m",
|
|
30
|
+
bgyellow: "\x1b[43m",
|
|
31
|
+
|
|
32
|
+
b: Bold,
|
|
33
|
+
bold: Bold,
|
|
34
|
+
d: Dim,
|
|
35
|
+
dim: Dim,
|
|
36
|
+
r: Reset,
|
|
37
|
+
reset: Reset,
|
|
38
|
+
ul: Underline,
|
|
39
|
+
underline: Underline,
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
RGB_COLORS = {
|
|
43
|
+
aqua: [0, 255, 255],
|
|
44
|
+
aquamarine1: [95, 255, 215],
|
|
45
|
+
aquamarine3: [95, 215, 175],
|
|
46
|
+
azure1: [240, 255, 255],
|
|
47
|
+
blue1: [0, 0, 255],
|
|
48
|
+
blue3: [0, 0, 175],
|
|
49
|
+
blue_violet: [95, 0, 255],
|
|
50
|
+
cadet_blue: [95, 175, 135],
|
|
51
|
+
chartreuse1: [135, 255, 0],
|
|
52
|
+
chartreuse2: [95, 255, 0],
|
|
53
|
+
chartreuse3: [95, 175, 0],
|
|
54
|
+
chartreuse4: [95, 135, 0],
|
|
55
|
+
cornflower_blue: [95, 135, 255],
|
|
56
|
+
cornsilk1: [255, 255, 215],
|
|
57
|
+
cyan1: [0, 255, 255],
|
|
58
|
+
cyan2: [0, 255, 215],
|
|
59
|
+
cyan3: [0, 215, 175],
|
|
60
|
+
dark_blue: [0, 0, 135],
|
|
61
|
+
dark_cyan: [0, 175, 135],
|
|
62
|
+
dark_goldenrod: [175, 135, 0],
|
|
63
|
+
dark_green: [0, 95, 0],
|
|
64
|
+
dark_khaki: [175, 175, 95],
|
|
65
|
+
dark_magenta: [135, 0, 135],
|
|
66
|
+
dark_olive_green1: [215, 255, 95],
|
|
67
|
+
dark_olive_green2: [175, 255, 95],
|
|
68
|
+
dark_olive_green3: [135, 175, 95],
|
|
69
|
+
dark_orange3: [175, 95, 0],
|
|
70
|
+
dark_orange: [255, 135, 0],
|
|
71
|
+
dark_red: [95, 0, 0],
|
|
72
|
+
dark_sea_green1: [175, 255, 215],
|
|
73
|
+
dark_sea_green2: [175, 215, 175],
|
|
74
|
+
dark_sea_green3: [135, 215, 175],
|
|
75
|
+
dark_sea_green4: [95, 135, 95],
|
|
76
|
+
dark_sea_green: [135, 175, 135],
|
|
77
|
+
dark_slate_gray1: [135, 255, 255],
|
|
78
|
+
dark_slate_gray2: [95, 255, 255],
|
|
79
|
+
dark_slate_gray3: [135, 215, 215],
|
|
80
|
+
dark_turquoise: [0, 215, 215],
|
|
81
|
+
dark_violet: [135, 0, 215],
|
|
82
|
+
deep_pink1: [255, 0, 135],
|
|
83
|
+
deep_pink2: [255, 0, 95],
|
|
84
|
+
deep_pink3: [215, 0, 95],
|
|
85
|
+
deep_pink4: [95, 0, 95],
|
|
86
|
+
deep_sky_blue1: [0, 175, 255],
|
|
87
|
+
deep_sky_blue2: [0, 175, 215],
|
|
88
|
+
deep_sky_blue3: [0, 135, 175],
|
|
89
|
+
deep_sky_blue4: [0, 95, 95],
|
|
90
|
+
dodger_blue1: [0, 135, 255],
|
|
91
|
+
dodger_blue2: [0, 95, 255],
|
|
92
|
+
dodger_blue3: [0, 95, 215],
|
|
93
|
+
fuchsia: [255, 0, 255],
|
|
94
|
+
gold1: [255, 215, 0],
|
|
95
|
+
gold3: [175, 175, 0],
|
|
96
|
+
green1: [0, 255, 0],
|
|
97
|
+
green3: [0, 175, 0],
|
|
98
|
+
green4: [0, 135, 0],
|
|
99
|
+
green_yellow: [175, 255, 0],
|
|
100
|
+
grey0: [0, 0, 0],
|
|
101
|
+
grey100: [255, 255, 255],
|
|
102
|
+
grey11: [28, 28, 28],
|
|
103
|
+
grey15: [38, 38, 38],
|
|
104
|
+
grey19: [48, 48, 48],
|
|
105
|
+
grey23: [58, 58, 58],
|
|
106
|
+
grey27: [68, 68, 68],
|
|
107
|
+
grey30: [78, 78, 78],
|
|
108
|
+
grey35: [88, 88, 88],
|
|
109
|
+
grey37: [95, 95, 95],
|
|
110
|
+
grey39: [98, 98, 98],
|
|
111
|
+
grey3: [8, 8, 8],
|
|
112
|
+
grey42: [108, 108, 108],
|
|
113
|
+
grey46: [118, 118, 118],
|
|
114
|
+
grey50: [128, 128, 128],
|
|
115
|
+
grey53: [135, 135, 135],
|
|
116
|
+
grey54: [138, 138, 138],
|
|
117
|
+
grey58: [148, 148, 148],
|
|
118
|
+
grey62: [158, 158, 158],
|
|
119
|
+
grey63: [175, 135, 175],
|
|
120
|
+
grey66: [168, 168, 168],
|
|
121
|
+
grey69: [175, 175, 175],
|
|
122
|
+
grey70: [178, 178, 178],
|
|
123
|
+
grey74: [188, 188, 188],
|
|
124
|
+
grey78: [198, 198, 198],
|
|
125
|
+
grey7: [18, 18, 18],
|
|
126
|
+
grey82: [208, 208, 208],
|
|
127
|
+
grey84: [215, 215, 215],
|
|
128
|
+
grey85: [218, 218, 218],
|
|
129
|
+
grey89: [228, 228, 228],
|
|
130
|
+
grey93: [238, 238, 238],
|
|
131
|
+
grey: [128, 128, 128],
|
|
132
|
+
honeydew2: [215, 255, 215],
|
|
133
|
+
hot_pink2: [215, 95, 175],
|
|
134
|
+
hot_pink3: [175, 95, 135],
|
|
135
|
+
hot_pink: [255, 95, 175],
|
|
136
|
+
indian_red1: [255, 95, 95],
|
|
137
|
+
indian_red: [175, 95, 95],
|
|
138
|
+
khaki1: [255, 255, 135],
|
|
139
|
+
khaki3: [215, 215, 95],
|
|
140
|
+
light_coral: [255, 135, 135],
|
|
141
|
+
light_cyan1: [215, 255, 255],
|
|
142
|
+
light_cyan3: [175, 215, 215],
|
|
143
|
+
light_goldenrod1: [255, 255, 95],
|
|
144
|
+
light_goldenrod2: [215, 215, 135],
|
|
145
|
+
light_goldenrod3: [215, 175, 95],
|
|
146
|
+
light_green: [135, 255, 95],
|
|
147
|
+
light_pink1: [255, 175, 175],
|
|
148
|
+
light_pink3: [215, 135, 135],
|
|
149
|
+
light_pink4: [135, 95, 95],
|
|
150
|
+
light_salmon1: [255, 175, 135],
|
|
151
|
+
light_salmon3: [175, 135, 95],
|
|
152
|
+
light_sea_green: [0, 175, 175],
|
|
153
|
+
light_sky_blue1: [175, 215, 255],
|
|
154
|
+
light_sky_blue3: [135, 175, 175],
|
|
155
|
+
light_slate_blue: [135, 135, 255],
|
|
156
|
+
light_slate_grey: [135, 135, 175],
|
|
157
|
+
light_steel_blue1: [215, 215, 255],
|
|
158
|
+
light_steel_blue3: [175, 175, 215],
|
|
159
|
+
light_steel_blue: [175, 175, 255],
|
|
160
|
+
light_yellow3: [215, 215, 175],
|
|
161
|
+
lime: [0, 255, 0],
|
|
162
|
+
magenta1: [255, 0, 255],
|
|
163
|
+
magenta2: [215, 0, 255],
|
|
164
|
+
magenta3: [175, 0, 175],
|
|
165
|
+
maroon: [128, 0, 0],
|
|
166
|
+
medium_orchid1: [215, 95, 255],
|
|
167
|
+
medium_orchid3: [175, 95, 175],
|
|
168
|
+
medium_orchid: [175, 95, 215],
|
|
169
|
+
medium_purple1: [175, 135, 255],
|
|
170
|
+
medium_purple2: [175, 95, 255],
|
|
171
|
+
medium_purple3: [135, 95, 175],
|
|
172
|
+
medium_purple4: [95, 95, 135],
|
|
173
|
+
medium_purple: [135, 135, 215],
|
|
174
|
+
medium_spring_green: [0, 255, 175],
|
|
175
|
+
medium_turquoise: [95, 215, 215],
|
|
176
|
+
medium_violet_red: [175, 0, 135],
|
|
177
|
+
misty_rose1: [255, 215, 215],
|
|
178
|
+
misty_rose3: [215, 175, 175],
|
|
179
|
+
navajo_white1: [255, 215, 175],
|
|
180
|
+
navajo_white3: [175, 175, 135],
|
|
181
|
+
navy: [0, 0, 128],
|
|
182
|
+
navy_blue: [0, 0, 95],
|
|
183
|
+
olive: [128, 128, 0],
|
|
184
|
+
orange: [255, 128, 0],
|
|
185
|
+
orange1: [255, 175, 0],
|
|
186
|
+
orange3: [215, 135, 0],
|
|
187
|
+
orange4: [95, 95, 0],
|
|
188
|
+
orange_red1: [255, 95, 0],
|
|
189
|
+
orchid1: [255, 135, 255],
|
|
190
|
+
orchid2: [255, 135, 215],
|
|
191
|
+
orchid: [215, 95, 215],
|
|
192
|
+
pale_green1: [135, 255, 175],
|
|
193
|
+
pale_green3: [95, 215, 95],
|
|
194
|
+
pale_turquoise1: [175, 255, 255],
|
|
195
|
+
pale_turquoise4: [95, 135, 135],
|
|
196
|
+
pale_violet_red1: [255, 135, 175],
|
|
197
|
+
pink1: [255, 175, 215],
|
|
198
|
+
pink3: [215, 135, 175],
|
|
199
|
+
plum1: [255, 175, 255],
|
|
200
|
+
plum2: [215, 175, 255],
|
|
201
|
+
plum3: [215, 135, 215],
|
|
202
|
+
plum4: [135, 95, 135],
|
|
203
|
+
purple3: [95, 0, 215],
|
|
204
|
+
purple4: [95, 0, 135],
|
|
205
|
+
purple: [128, 0, 128],
|
|
206
|
+
red1: [255, 0, 0],
|
|
207
|
+
red3: [175, 0, 0],
|
|
208
|
+
rosy_brown: [175, 135, 135],
|
|
209
|
+
royal_blue1: [95, 95, 255],
|
|
210
|
+
salmon1: [255, 135, 95],
|
|
211
|
+
sandy_brown: [255, 175, 95],
|
|
212
|
+
sea_green1: [95, 255, 135],
|
|
213
|
+
sea_green2: [95, 255, 95],
|
|
214
|
+
sea_green3: [95, 215, 135],
|
|
215
|
+
silver: [192, 192, 192],
|
|
216
|
+
sky_blue1: [135, 215, 255],
|
|
217
|
+
sky_blue2: [135, 175, 255],
|
|
218
|
+
sky_blue3: [95, 175, 215],
|
|
219
|
+
slate_blue1: [135, 95, 255],
|
|
220
|
+
slate_blue3: [95, 95, 175],
|
|
221
|
+
spring_green1: [0, 255, 135],
|
|
222
|
+
spring_green2: [0, 215, 135],
|
|
223
|
+
spring_green3: [0, 175, 95],
|
|
224
|
+
spring_green4: [0, 135, 95],
|
|
225
|
+
steel_blue1: [95, 175, 255],
|
|
226
|
+
steel_blue3: [95, 135, 215],
|
|
227
|
+
steel_blue: [95, 135, 175],
|
|
228
|
+
tan: [215, 175, 135],
|
|
229
|
+
teal: [0, 128, 128],
|
|
230
|
+
thistle1: [255, 215, 255],
|
|
231
|
+
thistle3: [215, 175, 215],
|
|
232
|
+
turquoise2: [0, 215, 255],
|
|
233
|
+
turquoise4: [0, 135, 135],
|
|
234
|
+
violet: [215, 135, 255],
|
|
235
|
+
wheat1: [255, 255, 175],
|
|
236
|
+
wheat4: [135, 135, 95],
|
|
237
|
+
yellow1: [255, 255, 0],
|
|
238
|
+
yellow2: [215, 255, 0],
|
|
239
|
+
yellow3: [175, 215, 0],
|
|
240
|
+
yellow4: [135, 135, 0]
|
|
241
|
+
}.map do |k, rgb|
|
|
242
|
+
[k, [CSI, "38;2;", *rgb.join(";"), "m"].join]
|
|
243
|
+
end.to_h
|
|
244
|
+
|
|
245
|
+
ExtendedColors =
|
|
246
|
+
(0..255)
|
|
247
|
+
.map {["color#{it}".to_sym, [CSI, "38;5;", it, "m"].join ]}
|
|
248
|
+
.to_h
|
|
249
|
+
.merge(RGB_COLORS)
|
|
250
|
+
.freeze
|
|
251
|
+
|
|
252
|
+
end
|
|
253
|
+
end
|
|
254
|
+
end
|
|
255
|
+
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
@@ -14,8 +14,8 @@ 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, raises: false)
|
|
18
|
-
case _colorize(str, extended:)
|
|
17
|
+
def colorize(str, reset: true, extended: false, raises: false, scheme: nil)
|
|
18
|
+
case _colorize(str, extended:, scheme:)
|
|
19
19
|
in String => encoded
|
|
20
20
|
reset ? encoded + get_chunk(:reset) : encoded
|
|
21
21
|
in [:error, msg] => error
|
|
@@ -23,13 +23,13 @@ module L43
|
|
|
23
23
|
end
|
|
24
24
|
end
|
|
25
25
|
|
|
26
|
-
def colorize!(str, reset: true, extended: false) = colorize(str, raises: true, reset:, extended:)
|
|
27
|
-
def xcolorize(str, reset: true) = colorize(str, reset:, extended: true)
|
|
28
|
-
def xcolorize!(str, reset: true) = colorize(str, reset:, extended: true, raises: true)
|
|
26
|
+
def colorize!(str, reset: true, extended: false, scheme: nil) = colorize(str, raises: true, reset:, extended:, scheme:)
|
|
27
|
+
def xcolorize(str, reset: true, scheme: nil) = colorize(str, reset:, extended: true, scheme:)
|
|
28
|
+
def xcolorize!(str, reset: true, scheme: nil) = colorize(str, reset:, extended: true, raises: true, scheme:)
|
|
29
29
|
|
|
30
30
|
private
|
|
31
|
-
def _colorize(str,
|
|
32
|
-
case _replace_color_codes(str, extended:)
|
|
31
|
+
def _colorize(str, scheme:, extended:)
|
|
32
|
+
case _replace_color_codes(str, scheme:, extended:)
|
|
33
33
|
in [:error, _msg] => error
|
|
34
34
|
error
|
|
35
35
|
in coded
|
|
@@ -37,10 +37,10 @@ module L43
|
|
|
37
37
|
end
|
|
38
38
|
end
|
|
39
39
|
|
|
40
|
-
def _replace_color_codes(str, extended:
|
|
40
|
+
def _replace_color_codes(str, scheme:, extended:)
|
|
41
41
|
str.gsub ColorSpecRgx do |match|
|
|
42
42
|
spec = match.gsub(Meta, "")
|
|
43
|
-
case get_chunks(spec, extended:)
|
|
43
|
+
case get_chunks(spec, extended:, scheme:)
|
|
44
44
|
in [:error, _message] => error
|
|
45
45
|
return error
|
|
46
46
|
in code
|
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.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Robert Dober
|
|
@@ -39,6 +39,7 @@ files:
|
|
|
39
39
|
- lib/l43/simple_color.rb
|
|
40
40
|
- lib/l43/simple_color/cli.rb
|
|
41
41
|
- lib/l43/simple_color/color_data.rb
|
|
42
|
+
- lib/l43/simple_color/color_definitions.rb
|
|
42
43
|
- lib/l43/simple_color/colorize.rb
|
|
43
44
|
- lib/l43/simple_color/file_colorizer.rb
|
|
44
45
|
- lib/l43/simple_color/version.rb
|