ex_aequo 0.2.6 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 416ef0ad9abb2576e3b6d4c34bb1f5c47bab9dd59c7bdf42d165622b05e4e174
4
- data.tar.gz: 19bce52876f9f01a9e2f34cd21449e6ab680a7a8e26931e8f35d838d53315d7e
3
+ metadata.gz: a7fb2a7524243ffd811e5ac6fcac44fd7dd1faf9cf7c40076bb7a6b9ef7ec637
4
+ data.tar.gz: 47e1979ee9775903c6d51e740e21f08a2ae0669dd52d5a9ce4ee6e4e211bbe23
5
5
  SHA512:
6
- metadata.gz: bd91e16bf24be7bedab872cd1c93fc5d3c218f54e1ab801bb2d1ccb347cfba60805177837f028d38f69c0fcc997c29fbd79481b73a436dcde11551fa17580533
7
- data.tar.gz: cd03ad0e7892f461b0149c061160b95d1d8dfaa13c59d4833c200854271881a089cc8bc802a1a78c08d5632e50f16cf595701275da664ab1663cc8e7f86b8ff6
6
+ metadata.gz: 9766fbf16ff0cfee7f6876b133ce4c073c5287248d7f8f535cfdb7abe6cbf37b9db096cc434dd52cf9c0dd9be3a5943297a8b46d23ab37f38da6b65887ff56cc
7
+ data.tar.gz: 2c224ffaf81eca779f303842472c3dc19b14d9954da5af5d95456a1d4a1ba343e0a14ef35a07883adb7f094079f5ee10b8a2fcaf19aaa6118cf3b96e5d4668a7
data/README.md CHANGED
@@ -95,56 +95,6 @@ And, we can also provide allowed values (N.B. ruby sytnax is default)
95
95
  expect(result.keywords).to eq(MyStruct.new(alpha: '42'))
96
96
  ```
97
97
 
98
- ## Context: Colors
99
-
100
- Given the inclusion of the `Color` module
101
- ```ruby
102
- include ExAequo::Color
103
- ```
104
-
105
-
106
- Then we can create ansi colored strings
107
- ```ruby
108
- expect(ansi(:red)).to eq("\e[31m")
109
- ```
110
-
111
- Or we can create 256 color strings
112
- ```ruby
113
- expect(ansi256(100)).to eq("\e[38;5;100m")
114
- ```
115
-
116
- Or we can use RGB colors
117
- ```ruby
118
- expect(rgb(96,32,16)).to eq("\e[38;2;96;32;16m")
119
- expect(rgb('#602010')).to eq("\e[38;2;96;32;16m")
120
- ```
121
-
122
- ### Context: Colorize Helper
123
-
124
- And
125
- ```ruby
126
- expect(colorize('red', ansi: :green)).to eq("\e[32mred\e[0m")
127
- ```
128
-
129
- Or we can omit the reset
130
- ```ruby
131
- expect(colorize('red', ansi: :green, reset: false)).to eq("\e[32mred")
132
- ```
133
-
134
- ### Context: Colorize Text
135
-
136
- Given we include the Color::Text module
137
- ```ruby
138
- require 'ex_aequo/color/text'
139
- include ExAequo::Color::Text
140
- ```
141
-
142
- Then we can obtain a colored text as follows
143
- ```ruby
144
- expect(colorized_text(:red, 'green', :yellow, 'blue', :reset, 'white'))
145
- .to eq("\e[31mgreen\e[33mblue\e[0mwhite")
146
- ```
147
-
148
98
  ## Other Tools are described [here](/speculations)
149
99
 
150
100
  ## LICENSE
@@ -0,0 +1,513 @@
1
+ # frozen_string_literal: true
2
+
3
+ ANSI_COLORS = {
4
+ aqua: [0, 255, 255],
5
+ aquamarine1: [95, 255, 215],
6
+ aquamarine3: [95, 215, 175],
7
+ azure1: [240, 255, 255],
8
+ bg_black: 40,
9
+ bg_red: 41,
10
+ bg_green: 42,
11
+ bg_yellow: 43,
12
+ bg_blue: 44,
13
+ bg_magenta: 45,
14
+ bg_cyan: 46,
15
+ bg_white: 47,
16
+ black: 30,
17
+ blue1: [0, 0, 255],
18
+ blue3: [0, 0, 175],
19
+ blue: 34,
20
+ blue_violet: [95, 0, 255],
21
+ bold: 1,
22
+ cadet_blue: [95, 175, 135],
23
+ chartreuse1: [135, 255, 0],
24
+ chartreuse2: [95, 255, 0],
25
+ chartreuse3: [95, 175, 0],
26
+ chartreuse4: [95, 135, 0],
27
+ color0: [:color, 0],
28
+ color1: [:color, 1],
29
+ color2: [:color, 2],
30
+ color3: [:color, 3],
31
+ color4: [:color, 4],
32
+ color5: [:color, 5],
33
+ color6: [:color, 6],
34
+ color7: [:color, 7],
35
+ color8: [:color, 8],
36
+ color9: [:color, 9],
37
+ color10: [:color, 10],
38
+ color11: [:color, 11],
39
+ color12: [:color, 12],
40
+ color13: [:color, 13],
41
+ color14: [:color, 14],
42
+ color15: [:color, 15],
43
+ color16: [:color, 16],
44
+ color17: [:color, 17],
45
+ color18: [:color, 18],
46
+ color19: [:color, 19],
47
+ color20: [:color, 20],
48
+ color21: [:color, 21],
49
+ color22: [:color, 22],
50
+ color23: [:color, 23],
51
+ color24: [:color, 24],
52
+ color25: [:color, 25],
53
+ color26: [:color, 26],
54
+ color27: [:color, 27],
55
+ color28: [:color, 28],
56
+ color29: [:color, 29],
57
+ color30: [:color, 30],
58
+ color31: [:color, 31],
59
+ color32: [:color, 32],
60
+ color33: [:color, 33],
61
+ color34: [:color, 34],
62
+ color35: [:color, 35],
63
+ color36: [:color, 36],
64
+ color37: [:color, 37],
65
+ color38: [:color, 38],
66
+ color39: [:color, 39],
67
+ color40: [:color, 40],
68
+ color41: [:color, 41],
69
+ color42: [:color, 42],
70
+ color43: [:color, 43],
71
+ color44: [:color, 44],
72
+ color45: [:color, 45],
73
+ color46: [:color, 46],
74
+ color47: [:color, 47],
75
+ color48: [:color, 48],
76
+ color49: [:color, 49],
77
+ color50: [:color, 50],
78
+ color51: [:color, 51],
79
+ color52: [:color, 52],
80
+ color53: [:color, 53],
81
+ color54: [:color, 54],
82
+ color55: [:color, 55],
83
+ color56: [:color, 56],
84
+ color57: [:color, 57],
85
+ color58: [:color, 58],
86
+ color59: [:color, 59],
87
+ color60: [:color, 60],
88
+ color61: [:color, 61],
89
+ color62: [:color, 62],
90
+ color63: [:color, 63],
91
+ color64: [:color, 64],
92
+ color65: [:color, 65],
93
+ color66: [:color, 66],
94
+ color67: [:color, 67],
95
+ color68: [:color, 68],
96
+ color69: [:color, 69],
97
+ color70: [:color, 70],
98
+ color71: [:color, 71],
99
+ color72: [:color, 72],
100
+ color73: [:color, 73],
101
+ color74: [:color, 74],
102
+ color75: [:color, 75],
103
+ color76: [:color, 76],
104
+ color77: [:color, 77],
105
+ color78: [:color, 78],
106
+ color79: [:color, 79],
107
+ color80: [:color, 80],
108
+ color81: [:color, 81],
109
+ color82: [:color, 82],
110
+ color83: [:color, 83],
111
+ color84: [:color, 84],
112
+ color85: [:color, 85],
113
+ color86: [:color, 86],
114
+ color87: [:color, 87],
115
+ color88: [:color, 88],
116
+ color89: [:color, 89],
117
+ color90: [:color, 90],
118
+ color91: [:color, 91],
119
+ color92: [:color, 92],
120
+ color93: [:color, 93],
121
+ color94: [:color, 94],
122
+ color95: [:color, 95],
123
+ color96: [:color, 96],
124
+ color97: [:color, 97],
125
+ color98: [:color, 98],
126
+ color99: [:color, 99],
127
+ color100: [:color, 100],
128
+ color101: [:color, 101],
129
+ color102: [:color, 102],
130
+ color103: [:color, 103],
131
+ color104: [:color, 104],
132
+ color105: [:color, 105],
133
+ color106: [:color, 106],
134
+ color107: [:color, 107],
135
+ color108: [:color, 108],
136
+ color109: [:color, 109],
137
+ color110: [:color, 110],
138
+ color111: [:color, 111],
139
+ color112: [:color, 112],
140
+ color113: [:color, 113],
141
+ color114: [:color, 114],
142
+ color115: [:color, 115],
143
+ color116: [:color, 116],
144
+ color117: [:color, 117],
145
+ color118: [:color, 118],
146
+ color119: [:color, 119],
147
+ color120: [:color, 120],
148
+ color121: [:color, 121],
149
+ color122: [:color, 122],
150
+ color123: [:color, 123],
151
+ color124: [:color, 124],
152
+ color125: [:color, 125],
153
+ color126: [:color, 126],
154
+ color127: [:color, 127],
155
+ color128: [:color, 128],
156
+ color129: [:color, 129],
157
+ color130: [:color, 130],
158
+ color131: [:color, 131],
159
+ color132: [:color, 132],
160
+ color133: [:color, 133],
161
+ color134: [:color, 134],
162
+ color135: [:color, 135],
163
+ color136: [:color, 136],
164
+ color137: [:color, 137],
165
+ color138: [:color, 138],
166
+ color139: [:color, 139],
167
+ color140: [:color, 140],
168
+ color141: [:color, 141],
169
+ color142: [:color, 142],
170
+ color143: [:color, 143],
171
+ color144: [:color, 144],
172
+ color145: [:color, 145],
173
+ color146: [:color, 146],
174
+ color147: [:color, 147],
175
+ color148: [:color, 148],
176
+ color149: [:color, 149],
177
+ color150: [:color, 150],
178
+ color151: [:color, 151],
179
+ color152: [:color, 152],
180
+ color153: [:color, 153],
181
+ color154: [:color, 154],
182
+ color155: [:color, 155],
183
+ color156: [:color, 156],
184
+ color157: [:color, 157],
185
+ color158: [:color, 158],
186
+ color159: [:color, 159],
187
+ color160: [:color, 160],
188
+ color161: [:color, 161],
189
+ color162: [:color, 162],
190
+ color163: [:color, 163],
191
+ color164: [:color, 164],
192
+ color165: [:color, 165],
193
+ color166: [:color, 166],
194
+ color167: [:color, 167],
195
+ color168: [:color, 168],
196
+ color169: [:color, 169],
197
+ color170: [:color, 170],
198
+ color171: [:color, 171],
199
+ color172: [:color, 172],
200
+ color173: [:color, 173],
201
+ color174: [:color, 174],
202
+ color175: [:color, 175],
203
+ color176: [:color, 176],
204
+ color177: [:color, 177],
205
+ color178: [:color, 178],
206
+ color179: [:color, 179],
207
+ color180: [:color, 180],
208
+ color181: [:color, 181],
209
+ color182: [:color, 182],
210
+ color183: [:color, 183],
211
+ color184: [:color, 184],
212
+ color185: [:color, 185],
213
+ color186: [:color, 186],
214
+ color187: [:color, 187],
215
+ color188: [:color, 188],
216
+ color189: [:color, 189],
217
+ color190: [:color, 190],
218
+ color191: [:color, 191],
219
+ color192: [:color, 192],
220
+ color193: [:color, 193],
221
+ color194: [:color, 194],
222
+ color195: [:color, 195],
223
+ color196: [:color, 196],
224
+ color197: [:color, 197],
225
+ color198: [:color, 198],
226
+ color199: [:color, 199],
227
+ color200: [:color, 200],
228
+ color201: [:color, 201],
229
+ color202: [:color, 202],
230
+ color203: [:color, 203],
231
+ color204: [:color, 204],
232
+ color205: [:color, 205],
233
+ color206: [:color, 206],
234
+ color207: [:color, 207],
235
+ color208: [:color, 208],
236
+ color209: [:color, 209],
237
+ color210: [:color, 210],
238
+ color211: [:color, 211],
239
+ color212: [:color, 212],
240
+ color213: [:color, 213],
241
+ color214: [:color, 214],
242
+ color215: [:color, 215],
243
+ color216: [:color, 216],
244
+ color217: [:color, 217],
245
+ color218: [:color, 218],
246
+ color219: [:color, 219],
247
+ color220: [:color, 220],
248
+ color221: [:color, 221],
249
+ color222: [:color, 222],
250
+ color223: [:color, 223],
251
+ color224: [:color, 224],
252
+ color225: [:color, 225],
253
+ color226: [:color, 226],
254
+ color227: [:color, 227],
255
+ color228: [:color, 228],
256
+ color229: [:color, 229],
257
+ color230: [:color, 230],
258
+ color231: [:color, 231],
259
+ color232: [:color, 232],
260
+ color233: [:color, 233],
261
+ color234: [:color, 234],
262
+ color235: [:color, 235],
263
+ color236: [:color, 236],
264
+ color237: [:color, 237],
265
+ color238: [:color, 238],
266
+ color239: [:color, 239],
267
+ color240: [:color, 240],
268
+ color241: [:color, 241],
269
+ color242: [:color, 242],
270
+ color243: [:color, 243],
271
+ color244: [:color, 244],
272
+ color245: [:color, 245],
273
+ color246: [:color, 246],
274
+ color247: [:color, 247],
275
+ color248: [:color, 248],
276
+ color249: [:color, 249],
277
+ color250: [:color, 250],
278
+ color251: [:color, 251],
279
+ color252: [:color, 252],
280
+ color253: [:color, 253],
281
+ color254: [:color, 254],
282
+ color255: [:color, 255],
283
+ cornflower_blue: [95, 135, 255],
284
+ cornsilk1: [255, 255, 215],
285
+ cyan1: [0, 255, 255],
286
+ cyan2: [0, 255, 215],
287
+ cyan3: [0, 215, 175],
288
+ cyan: 36,
289
+ dark_blue: [0, 0, 135],
290
+ dark_cyan: [0, 175, 135],
291
+ dark_goldenrod: [175, 135, 0],
292
+ dark_green: [0, 95, 0],
293
+ dark_khaki: [175, 175, 95],
294
+ dark_magenta: [135, 0, 135],
295
+ dark_olive_green1: [215, 255, 95],
296
+ dark_olive_green2: [175, 255, 95],
297
+ dark_olive_green3: [135, 175, 95],
298
+ dark_orange3: [175, 95, 0],
299
+ dark_orange: [255, 135, 0],
300
+ dark_red: [95, 0, 0],
301
+ dark_sea_green1: [175, 255, 215],
302
+ dark_sea_green2: [175, 215, 175],
303
+ dark_sea_green3: [135, 215, 175],
304
+ dark_sea_green4: [95, 135, 95],
305
+ dark_sea_green: [135, 175, 135],
306
+ dark_slate_gray1: [135, 255, 255],
307
+ dark_slate_gray2: [95, 255, 255],
308
+ dark_slate_gray3: [135, 215, 215],
309
+ dark_turquoise: [0, 215, 215],
310
+ dark_violet: [135, 0, 215],
311
+ deep_pink1: [255, 0, 135],
312
+ deep_pink2: [255, 0, 95],
313
+ deep_pink3: [215, 0, 95],
314
+ deep_pink4: [95, 0, 95],
315
+ deep_sky_blue1: [0, 175, 255],
316
+ deep_sky_blue2: [0, 175, 215],
317
+ deep_sky_blue3: [0, 135, 175],
318
+ deep_sky_blue4: [0, 95, 95],
319
+ dim: 2,
320
+ dodger_blue1: [0, 135, 255],
321
+ dodger_blue2: [0, 95, 255],
322
+ dodger_blue3: [0, 95, 215],
323
+ fuchsia: [255, 0, 255],
324
+ gold1: [255, 215, 0],
325
+ gold3: [175, 175, 0],
326
+ green1: [0, 255, 0],
327
+ green3: [0, 175, 0],
328
+ green4: [0, 135, 0],
329
+ green: 32,
330
+ green_yellow: [175, 255, 0],
331
+ grey0: [0, 0, 0],
332
+ grey100: [255, 255, 255],
333
+ grey11: [28, 28, 28],
334
+ grey15: [38, 38, 38],
335
+ grey19: [48, 48, 48],
336
+ grey23: [58, 58, 58],
337
+ grey27: [68, 68, 68],
338
+ grey30: [78, 78, 78],
339
+ grey35: [88, 88, 88],
340
+ grey37: [95, 95, 95],
341
+ grey39: [98, 98, 98],
342
+ grey3: [8, 8, 8],
343
+ grey42: [108, 108, 108],
344
+ grey46: [118, 118, 118],
345
+ grey50: [128, 128, 128],
346
+ grey53: [135, 135, 135],
347
+ grey54: [138, 138, 138],
348
+ grey58: [148, 148, 148],
349
+ grey62: [158, 158, 158],
350
+ grey63: [175, 135, 175],
351
+ grey66: [168, 168, 168],
352
+ grey69: [175, 175, 175],
353
+ grey70: [178, 178, 178],
354
+ grey74: [188, 188, 188],
355
+ grey78: [198, 198, 198],
356
+ grey7: [18, 18, 18],
357
+ grey82: [208, 208, 208],
358
+ grey84: [215, 215, 215],
359
+ grey85: [218, 218, 218],
360
+ grey89: [228, 228, 228],
361
+ grey93: [238, 238, 238],
362
+ grey: [128, 128, 128],
363
+ honeydew2: [215, 255, 215],
364
+ hot_pink2: [215, 95, 175],
365
+ hot_pink3: [175, 95, 135],
366
+ hot_pink: [255, 95, 175],
367
+ indian_red1: [255, 95, 95],
368
+ indian_red: [175, 95, 95],
369
+ italic: 3,
370
+ khaki1: [255, 255, 135],
371
+ khaki3: [215, 215, 95],
372
+ light_coral: [255, 135, 135],
373
+ light_cyan1: [215, 255, 255],
374
+ light_cyan3: [175, 215, 215],
375
+ light_goldenrod1: [255, 255, 95],
376
+ light_goldenrod2: [215, 215, 135],
377
+ light_goldenrod3: [215, 175, 95],
378
+ light_green: [135, 255, 95],
379
+ light_pink1: [255, 175, 175],
380
+ light_pink3: [215, 135, 135],
381
+ light_pink4: [135, 95, 95],
382
+ light_salmon1: [255, 175, 135],
383
+ light_salmon3: [175, 135, 95],
384
+ light_sea_green: [0, 175, 175],
385
+ light_sky_blue1: [175, 215, 255],
386
+ light_sky_blue3: [135, 175, 175],
387
+ light_slate_blue: [135, 135, 255],
388
+ light_slate_grey: [135, 135, 175],
389
+ light_steel_blue1: [215, 215, 255],
390
+ light_steel_blue3: [175, 175, 215],
391
+ light_steel_blue: [175, 175, 255],
392
+ light_yellow3: [215, 215, 175],
393
+ lime: [0, 255, 0],
394
+ magenta1: [255, 0, 255],
395
+ magenta2: [215, 0, 255],
396
+ magenta3: [175, 0, 175],
397
+ magenta: 35,
398
+ maroon: [128, 0, 0],
399
+ medium_orchid1: [215, 95, 255],
400
+ medium_orchid3: [175, 95, 175],
401
+ medium_orchid: [175, 95, 215],
402
+ medium_purple1: [175, 135, 255],
403
+ medium_purple2: [175, 95, 255],
404
+ medium_purple3: [135, 95, 175],
405
+ medium_purple4: [95, 95, 135],
406
+ medium_purple: [135, 135, 215],
407
+ medium_spring_green: [0, 255, 175],
408
+ medium_turquoise: [95, 215, 215],
409
+ medium_violet_red: [175, 0, 135],
410
+ misty_rose1: [255, 215, 215],
411
+ misty_rose3: [215, 175, 175],
412
+ navajo_white1: [255, 215, 175],
413
+ navajo_white3: [175, 175, 135],
414
+ navy: [0, 0, 128],
415
+ navy_blue: [0, 0, 95],
416
+ olive: [128, 128, 0],
417
+ orange: [255, 128, 0],
418
+ orange1: [255, 175, 0],
419
+ orange3: [215, 135, 0],
420
+ orange4: [95, 95, 0],
421
+ orange_red1: [255, 95, 0],
422
+ orchid1: [255, 135, 255],
423
+ orchid2: [255, 135, 215],
424
+ orchid: [215, 95, 215],
425
+ pale_green1: [135, 255, 175],
426
+ pale_green3: [95, 215, 95],
427
+ pale_turquoise1: [175, 255, 255],
428
+ pale_turquoise4: [95, 135, 135],
429
+ pale_violet_red1: [255, 135, 175],
430
+ pink1: [255, 175, 215],
431
+ pink3: [215, 135, 175],
432
+ plum1: [255, 175, 255],
433
+ plum2: [215, 175, 255],
434
+ plum3: [215, 135, 215],
435
+ plum4: [135, 95, 135],
436
+ purple3: [95, 0, 215],
437
+ purple4: [95, 0, 135],
438
+ purple: [128, 0, 128],
439
+ red1: [255, 0, 0],
440
+ red3: [175, 0, 0],
441
+ red: 31,
442
+ reset: 0,
443
+ rosy_brown: [175, 135, 135],
444
+ royal_blue1: [95, 95, 255],
445
+ salmon1: [255, 135, 95],
446
+ sandy_brown: [255, 175, 95],
447
+ sea_green1: [95, 255, 135],
448
+ sea_green2: [95, 255, 95],
449
+ sea_green3: [95, 215, 135],
450
+ silver: [192, 192, 192],
451
+ sky_blue1: [135, 215, 255],
452
+ sky_blue2: [135, 175, 255],
453
+ sky_blue3: [95, 175, 215],
454
+ slate_blue1: [135, 95, 255],
455
+ slate_blue3: [95, 95, 175],
456
+ spring_green1: [0, 255, 135],
457
+ spring_green2: [0, 215, 135],
458
+ spring_green3: [0, 175, 95],
459
+ spring_green4: [0, 135, 95],
460
+ steel_blue1: [95, 175, 255],
461
+ steel_blue3: [95, 135, 215],
462
+ steel_blue: [95, 135, 175],
463
+ tan: [215, 175, 135],
464
+ teal: [0, 128, 128],
465
+ thistle1: [255, 215, 255],
466
+ thistle3: [215, 175, 215],
467
+ turquoise2: [0, 215, 255],
468
+ turquoise4: [0, 135, 135],
469
+ uline: 4,
470
+ underline: 4,
471
+ violet: [215, 135, 255],
472
+ wheat1: [255, 255, 175],
473
+ wheat4: [135, 135, 95],
474
+ white: 37,
475
+ yellow1: [255, 255, 0],
476
+ yellow2: [215, 255, 0],
477
+ yellow3: [175, 215, 0],
478
+ yellow4: [135, 135, 0],
479
+ yellow: 33
480
+ }
481
+
482
+ module ExAequo
483
+ module Colorizer
484
+ module ColorDefinitions extend self
485
+
486
+ def get(color, no_color)
487
+ color = find_color(color)
488
+ if color
489
+ return '' if no_color
490
+ color
491
+ end
492
+ end
493
+
494
+ private
495
+ def find_color(color)
496
+ case ANSI_COLORS.fetch(color.to_sym, nil)
497
+ in [r, g, b]
498
+ # not yet implemented
499
+ nil
500
+ in [:color, col]
501
+ # not yet implemented
502
+ nil
503
+ in nil
504
+ nil
505
+ in value
506
+ "\e[#{value}m"
507
+ end
508
+ end
509
+ end
510
+
511
+ end
512
+ end
513
+ # SPDX-License-Identifier: AGPL-3.0-or-later
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'colorizer'
4
+ require 'forwardable'
5
+ module ExAequo
6
+ module Colorize
7
+ extend Forwardable
8
+
9
+ def_delegators Colorizer, :colorize, :colorize_file, :colorize_lines
10
+
11
+
12
+ end
13
+ end
14
+ # SPDX-License-Identifier: AGPL-3.0-or-later