sai 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -1
  3. data/README.md +11 -3
  4. data/docs/USAGE.md +57 -9
  5. data/lib/sai/ansi/color_parser.rb +109 -0
  6. data/lib/sai/ansi/sequence_processor.rb +15 -126
  7. data/lib/sai/ansi/style_parser.rb +66 -0
  8. data/lib/sai/ansi.rb +0 -27
  9. data/lib/sai/conversion/color_sequence.rb +4 -4
  10. data/lib/sai/conversion/rgb/color_classifier.rb +209 -0
  11. data/lib/sai/conversion/rgb/color_indexer.rb +48 -0
  12. data/lib/sai/conversion/rgb/color_space.rb +192 -0
  13. data/lib/sai/conversion/rgb/color_transformer.rb +140 -0
  14. data/lib/sai/conversion/rgb.rb +23 -269
  15. data/lib/sai/decorator/color_manipulations.rb +157 -0
  16. data/lib/sai/decorator/delegation.rb +84 -0
  17. data/lib/sai/decorator/gradients.rb +363 -0
  18. data/lib/sai/decorator/hex_colors.rb +56 -0
  19. data/lib/sai/decorator/named_colors.rb +780 -0
  20. data/lib/sai/decorator/named_styles.rb +276 -0
  21. data/lib/sai/decorator/rgb_colors.rb +64 -0
  22. data/lib/sai/decorator.rb +29 -775
  23. data/lib/sai/named_colors.rb +437 -0
  24. data/lib/sai.rb +731 -23
  25. data/sig/sai/ansi/color_parser.rbs +77 -0
  26. data/sig/sai/ansi/sequence_processor.rbs +0 -75
  27. data/sig/sai/ansi/style_parser.rbs +59 -0
  28. data/sig/sai/ansi.rbs +0 -10
  29. data/sig/sai/conversion/rgb/color_classifier.rbs +165 -0
  30. data/sig/sai/conversion/rgb/color_indexer.rbs +41 -0
  31. data/sig/sai/conversion/rgb/color_space.rbs +129 -0
  32. data/sig/sai/conversion/rgb/color_transformer.rbs +99 -0
  33. data/sig/sai/conversion/rgb.rbs +15 -198
  34. data/sig/sai/decorator/color_manipulations.rbs +125 -0
  35. data/sig/sai/decorator/delegation.rbs +47 -0
  36. data/sig/sai/decorator/gradients.rbs +267 -0
  37. data/sig/sai/decorator/hex_colors.rbs +48 -0
  38. data/sig/sai/decorator/named_colors.rbs +1491 -0
  39. data/sig/sai/decorator/named_styles.rbs +72 -0
  40. data/sig/sai/decorator/rgb_colors.rbs +52 -0
  41. data/sig/sai/decorator.rbs +21 -195
  42. data/sig/sai/named_colors.rbs +65 -0
  43. data/sig/sai.rbs +1468 -44
  44. metadata +32 -4
@@ -0,0 +1,780 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'sai/named_colors'
4
+
5
+ module Sai
6
+ class Decorator
7
+ # Named color methods for the {Decorator} class
8
+ #
9
+ # @author {https://aaronmallen.me Aaron Allen}
10
+ # @since 0.3.1
11
+ #
12
+ # @abstract This module is meant to be included in the {Decorator} class to provide named color methods
13
+ # @api private
14
+ #
15
+ # @note For each named color, two methods are dynamically generated:
16
+ # * color_name - Applies the color to the foreground
17
+ # * on_color_name - Applies the color to the backgroundAll color methods return {Decorator}
18
+ # @see Sai::NamedColors Sai::NamedColors for available color names
19
+ #
20
+ # @example Using a named color
21
+ # decorator.azure.decorate('Hello') #=> "\e[38;2;0;127;255mHello\e[0m"
22
+ # decorator.on_azure.decorate('Hello') #=> "\e[48;2;0;127;255mHello\e[0m"
23
+ module NamedColors
24
+ # @rbs!
25
+ # def alice_blue: () -> Decorator
26
+ # def antique_white: () -> Decorator
27
+ # def aqua: () -> Decorator
28
+ # def aqua_system: () -> Decorator
29
+ # def aquamarine: () -> Decorator
30
+ # def aquamarine1: () -> Decorator
31
+ # def aquamarine1_122: () -> Decorator
32
+ # def aquamarine3: () -> Decorator
33
+ # def azure: () -> Decorator
34
+ # def beige: () -> Decorator
35
+ # def bisque: () -> Decorator
36
+ # def black: () -> Decorator
37
+ # def black_system: () -> Decorator
38
+ # def blanched_almond: () -> Decorator
39
+ # def blue: () -> Decorator
40
+ # def blue1: () -> Decorator
41
+ # def blue3: () -> Decorator
42
+ # def blue3_20: () -> Decorator
43
+ # def blue_system: () -> Decorator
44
+ # def blue_violet: () -> Decorator
45
+ # def bright_black: () -> Decorator
46
+ # def bright_blue: () -> Decorator
47
+ # def bright_cyan: () -> Decorator
48
+ # def bright_green: () -> Decorator
49
+ # def bright_magenta: () -> Decorator
50
+ # def bright_red: () -> Decorator
51
+ # def bright_white: () -> Decorator
52
+ # def bright_yellow: () -> Decorator
53
+ # def brown: () -> Decorator
54
+ # def burly_wood: () -> Decorator
55
+ # def cadet_blue: () -> Decorator
56
+ # def cadet_blue_73: () -> Decorator
57
+ # def chartreuse: () -> Decorator
58
+ # def chartreuse1: () -> Decorator
59
+ # def chartreuse2: () -> Decorator
60
+ # def chartreuse2_112: () -> Decorator
61
+ # def chartreuse3: () -> Decorator
62
+ # def chartreuse3_76: () -> Decorator
63
+ # def chartreuse4: () -> Decorator
64
+ # def chocolate: () -> Decorator
65
+ # def coral: () -> Decorator
66
+ # def cornflower_blue: () -> Decorator
67
+ # def cornsilk: () -> Decorator
68
+ # def cornsilk1: () -> Decorator
69
+ # def crimson: () -> Decorator
70
+ # def cyan: () -> Decorator
71
+ # def cyan1: () -> Decorator
72
+ # def cyan2: () -> Decorator
73
+ # def cyan3: () -> Decorator
74
+ # def dark_blue: () -> Decorator
75
+ # def dark_cyan: () -> Decorator
76
+ # def dark_goldenrod: () -> Decorator
77
+ # def dark_gray: () -> Decorator
78
+ # def dark_green: () -> Decorator
79
+ # def dark_khaki: () -> Decorator
80
+ # def dark_magenta: () -> Decorator
81
+ # def dark_magenta_91: () -> Decorator
82
+ # def dark_olive_green: () -> Decorator
83
+ # def dark_olive_green1: () -> Decorator
84
+ # def dark_olive_green1_192: () -> Decorator
85
+ # def dark_olive_green2: () -> Decorator
86
+ # def dark_olive_green3: () -> Decorator
87
+ # def dark_olive_green3_113: () -> Decorator
88
+ # def dark_olive_green3_149: () -> Decorator
89
+ # def dark_orange: () -> Decorator
90
+ # def dark_orange3: () -> Decorator
91
+ # def dark_orange3_166: () -> Decorator
92
+ # def dark_orchid: () -> Decorator
93
+ # def dark_red: () -> Decorator
94
+ # def dark_red_88: () -> Decorator
95
+ # def dark_salmon: () -> Decorator
96
+ # def dark_sea_green: () -> Decorator
97
+ # def dark_sea_green1: () -> Decorator
98
+ # def dark_sea_green1_193: () -> Decorator
99
+ # def dark_sea_green2: () -> Decorator
100
+ # def dark_sea_green2_157: () -> Decorator
101
+ # def dark_sea_green3: () -> Decorator
102
+ # def dark_sea_green3_150: () -> Decorator
103
+ # def dark_sea_green4: () -> Decorator
104
+ # def dark_sea_green4_71: () -> Decorator
105
+ # def dark_slate_blue: () -> Decorator
106
+ # def dark_slate_gray: () -> Decorator
107
+ # def dark_slate_gray1: () -> Decorator
108
+ # def dark_slate_gray2: () -> Decorator
109
+ # def dark_slate_gray3: () -> Decorator
110
+ # def dark_turquoise: () -> Decorator
111
+ # def dark_violet: () -> Decorator
112
+ # def dark_violet_128: () -> Decorator
113
+ # def deep_pink: () -> Decorator
114
+ # def deep_pink1: () -> Decorator
115
+ # def deep_pink1_199: () -> Decorator
116
+ # def deep_pink2: () -> Decorator
117
+ # def deep_pink3: () -> Decorator
118
+ # def deep_pink3_162: () -> Decorator
119
+ # def deep_pink4: () -> Decorator
120
+ # def deep_pink4_125: () -> Decorator
121
+ # def deep_pink4_89: () -> Decorator
122
+ # def deep_sky_blue: () -> Decorator
123
+ # def deep_sky_blue1: () -> Decorator
124
+ # def deep_sky_blue2: () -> Decorator
125
+ # def deep_sky_blue3: () -> Decorator
126
+ # def deep_sky_blue3_32: () -> Decorator
127
+ # def deep_sky_blue4: () -> Decorator
128
+ # def deep_sky_blue4_24: () -> Decorator
129
+ # def deep_sky_blue4_25: () -> Decorator
130
+ # def dim_gray: () -> Decorator
131
+ # def dodger_blue: () -> Decorator
132
+ # def dodger_blue1: () -> Decorator
133
+ # def dodger_blue2: () -> Decorator
134
+ # def dodger_blue3: () -> Decorator
135
+ # def firebrick: () -> Decorator
136
+ # def floral_white: () -> Decorator
137
+ # def forest_green: () -> Decorator
138
+ # def fuchsia: () -> Decorator
139
+ # def fuchsia_system: () -> Decorator
140
+ # def gainsboro: () -> Decorator
141
+ # def ghost_white: () -> Decorator
142
+ # def gold: () -> Decorator
143
+ # def gold1: () -> Decorator
144
+ # def gold3: () -> Decorator
145
+ # def gold3_178: () -> Decorator
146
+ # def goldenrod: () -> Decorator
147
+ # def gray: () -> Decorator
148
+ # def green: () -> Decorator
149
+ # def green1: () -> Decorator
150
+ # def green3: () -> Decorator
151
+ # def green3_40: () -> Decorator
152
+ # def green4: () -> Decorator
153
+ # def green_system: () -> Decorator
154
+ # def green_yellow: () -> Decorator
155
+ # def grey0: () -> Decorator
156
+ # def grey100: () -> Decorator
157
+ # def grey11: () -> Decorator
158
+ # def grey15: () -> Decorator
159
+ # def grey19: () -> Decorator
160
+ # def grey23: () -> Decorator
161
+ # def grey27: () -> Decorator
162
+ # def grey3: () -> Decorator
163
+ # def grey30: () -> Decorator
164
+ # def grey35: () -> Decorator
165
+ # def grey37: () -> Decorator
166
+ # def grey39: () -> Decorator
167
+ # def grey42: () -> Decorator
168
+ # def grey46: () -> Decorator
169
+ # def grey50: () -> Decorator
170
+ # def grey53: () -> Decorator
171
+ # def grey54: () -> Decorator
172
+ # def grey58: () -> Decorator
173
+ # def grey62: () -> Decorator
174
+ # def grey66: () -> Decorator
175
+ # def grey7: () -> Decorator
176
+ # def grey70: () -> Decorator
177
+ # def grey74: () -> Decorator
178
+ # def grey78: () -> Decorator
179
+ # def grey82: () -> Decorator
180
+ # def grey84: () -> Decorator
181
+ # def grey85: () -> Decorator
182
+ # def grey89: () -> Decorator
183
+ # def grey93: () -> Decorator
184
+ # def grey_system: () -> Decorator
185
+ # def honeydew: () -> Decorator
186
+ # def honeydew2: () -> Decorator
187
+ # def hot_pink: () -> Decorator
188
+ # def hot_pink2: () -> Decorator
189
+ # def hot_pink3: () -> Decorator
190
+ # def hot_pink3_168: () -> Decorator
191
+ # def hot_pink_206: () -> Decorator
192
+ # def indian_red: () -> Decorator
193
+ # def indian_red1: () -> Decorator
194
+ # def indian_red1_204: () -> Decorator
195
+ # def indian_red_167: () -> Decorator
196
+ # def indigo: () -> Decorator
197
+ # def ivory: () -> Decorator
198
+ # def khaki: () -> Decorator
199
+ # def khaki1: () -> Decorator
200
+ # def khaki3: () -> Decorator
201
+ # def lavender: () -> Decorator
202
+ # def lavender_blush: () -> Decorator
203
+ # def lawn_green: () -> Decorator
204
+ # def lemon_chiffon: () -> Decorator
205
+ # def light_blue: () -> Decorator
206
+ # def light_coral: () -> Decorator
207
+ # def light_cyan: () -> Decorator
208
+ # def light_cyan1: () -> Decorator
209
+ # def light_cyan3: () -> Decorator
210
+ # def light_goldenrod1: () -> Decorator
211
+ # def light_goldenrod2: () -> Decorator
212
+ # def light_goldenrod2_221: () -> Decorator
213
+ # def light_goldenrod3: () -> Decorator
214
+ # def light_goldenrod_yellow: () -> Decorator
215
+ # def light_gray: () -> Decorator
216
+ # def light_green: () -> Decorator
217
+ # def light_green_120: () -> Decorator
218
+ # def light_pink: () -> Decorator
219
+ # def light_pink1: () -> Decorator
220
+ # def light_pink3: () -> Decorator
221
+ # def light_pink4: () -> Decorator
222
+ # def light_salmon: () -> Decorator
223
+ # def light_salmon1: () -> Decorator
224
+ # def light_salmon3: () -> Decorator
225
+ # def light_salmon3_173: () -> Decorator
226
+ # def light_sea_green: () -> Decorator
227
+ # def light_sky_blue: () -> Decorator
228
+ # def light_sky_blue1: () -> Decorator
229
+ # def light_sky_blue3: () -> Decorator
230
+ # def light_sky_blue3_110: () -> Decorator
231
+ # def light_slate_blue: () -> Decorator
232
+ # def light_slate_gray: () -> Decorator
233
+ # def light_slate_grey: () -> Decorator
234
+ # def light_steel_blue: () -> Decorator
235
+ # def light_steel_blue1: () -> Decorator
236
+ # def light_steel_blue3: () -> Decorator
237
+ # def light_yellow: () -> Decorator
238
+ # def lime: () -> Decorator
239
+ # def lime_green: () -> Decorator
240
+ # def lime_system: () -> Decorator
241
+ # def linen: () -> Decorator
242
+ # def magenta: () -> Decorator
243
+ # def magenta1: () -> Decorator
244
+ # def magenta2: () -> Decorator
245
+ # def magenta2_200: () -> Decorator
246
+ # def magenta3: () -> Decorator
247
+ # def magenta3_163: () -> Decorator
248
+ # def magenta3_164: () -> Decorator
249
+ # def maroon: () -> Decorator
250
+ # def maroon_system: () -> Decorator
251
+ # def medium_aquamarine: () -> Decorator
252
+ # def medium_blue: () -> Decorator
253
+ # def medium_orchid: () -> Decorator
254
+ # def medium_orchid1: () -> Decorator
255
+ # def medium_orchid1_207: () -> Decorator
256
+ # def medium_orchid3: () -> Decorator
257
+ # def medium_purple: () -> Decorator
258
+ # def medium_purple1: () -> Decorator
259
+ # def medium_purple2: () -> Decorator
260
+ # def medium_purple2_140: () -> Decorator
261
+ # def medium_purple3: () -> Decorator
262
+ # def medium_purple3_98: () -> Decorator
263
+ # def medium_purple4: () -> Decorator
264
+ # def medium_sea_green: () -> Decorator
265
+ # def medium_slate_blue: () -> Decorator
266
+ # def medium_spring_green: () -> Decorator
267
+ # def medium_turquoise: () -> Decorator
268
+ # def medium_violet_red: () -> Decorator
269
+ # def midnight_blue: () -> Decorator
270
+ # def mint_cream: () -> Decorator
271
+ # def misty_rose: () -> Decorator
272
+ # def misty_rose1: () -> Decorator
273
+ # def misty_rose3: () -> Decorator
274
+ # def moccasin: () -> Decorator
275
+ # def navajo_white: () -> Decorator
276
+ # def navajo_white1: () -> Decorator
277
+ # def navajo_white3: () -> Decorator
278
+ # def navy: () -> Decorator
279
+ # def navy_blue: () -> Decorator
280
+ # def navy_system: () -> Decorator
281
+ # def old_lace: () -> Decorator
282
+ # def olive: () -> Decorator
283
+ # def olive_drab: () -> Decorator
284
+ # def olive_system: () -> Decorator
285
+ # def on_alice_blue: () -> Decorator
286
+ # def on_antique_white: () -> Decorator
287
+ # def on_aqua: () -> Decorator
288
+ # def on_aqua_system: () -> Decorator
289
+ # def on_aquamarine: () -> Decorator
290
+ # def on_aquamarine1: () -> Decorator
291
+ # def on_aquamarine1_122: () -> Decorator
292
+ # def on_aquamarine3: () -> Decorator
293
+ # def on_azure: () -> Decorator
294
+ # def on_beige: () -> Decorator
295
+ # def on_bisque: () -> Decorator
296
+ # def on_black: () -> Decorator
297
+ # def on_black_system: () -> Decorator
298
+ # def on_blanched_almond: () -> Decorator
299
+ # def on_blue: () -> Decorator
300
+ # def on_blue1: () -> Decorator
301
+ # def on_blue3: () -> Decorator
302
+ # def on_blue3_20: () -> Decorator
303
+ # def on_blue_system: () -> Decorator
304
+ # def on_blue_violet: () -> Decorator
305
+ # def on_bright_black: () -> Decorator
306
+ # def on_bright_blue: () -> Decorator
307
+ # def on_bright_cyan: () -> Decorator
308
+ # def on_bright_green: () -> Decorator
309
+ # def on_bright_magenta: () -> Decorator
310
+ # def on_bright_red: () -> Decorator
311
+ # def on_bright_white: () -> Decorator
312
+ # def on_bright_yellow: () -> Decorator
313
+ # def on_brown: () -> Decorator
314
+ # def on_burly_wood: () -> Decorator
315
+ # def on_cadet_blue: () -> Decorator
316
+ # def on_cadet_blue_73: () -> Decorator
317
+ # def on_chartreuse: () -> Decorator
318
+ # def on_chartreuse1: () -> Decorator
319
+ # def on_chartreuse2: () -> Decorator
320
+ # def on_chartreuse2_112: () -> Decorator
321
+ # def on_chartreuse3: () -> Decorator
322
+ # def on_chartreuse3_76: () -> Decorator
323
+ # def on_chartreuse4: () -> Decorator
324
+ # def on_chocolate: () -> Decorator
325
+ # def on_coral: () -> Decorator
326
+ # def on_cornflower_blue: () -> Decorator
327
+ # def on_cornsilk: () -> Decorator
328
+ # def on_cornsilk1: () -> Decorator
329
+ # def on_crimson: () -> Decorator
330
+ # def on_cyan: () -> Decorator
331
+ # def on_cyan1: () -> Decorator
332
+ # def on_cyan2: () -> Decorator
333
+ # def on_cyan3: () -> Decorator
334
+ # def on_dark_blue: () -> Decorator
335
+ # def on_dark_cyan: () -> Decorator
336
+ # def on_dark_goldenrod: () -> Decorator
337
+ # def on_dark_gray: () -> Decorator
338
+ # def on_dark_green: () -> Decorator
339
+ # def on_dark_khaki: () -> Decorator
340
+ # def on_dark_magenta: () -> Decorator
341
+ # def on_dark_magenta_91: () -> Decorator
342
+ # def on_dark_olive_green: () -> Decorator
343
+ # def on_dark_olive_green1: () -> Decorator
344
+ # def on_dark_olive_green1_192: () -> Decorator
345
+ # def on_dark_olive_green2: () -> Decorator
346
+ # def on_dark_olive_green3: () -> Decorator
347
+ # def on_dark_olive_green3_113: () -> Decorator
348
+ # def on_dark_olive_green3_149: () -> Decorator
349
+ # def on_dark_orange: () -> Decorator
350
+ # def on_dark_orange3: () -> Decorator
351
+ # def on_dark_orange3_166: () -> Decorator
352
+ # def on_dark_orchid: () -> Decorator
353
+ # def on_dark_red: () -> Decorator
354
+ # def on_dark_red_88: () -> Decorator
355
+ # def on_dark_salmon: () -> Decorator
356
+ # def on_dark_sea_green: () -> Decorator
357
+ # def on_dark_sea_green1: () -> Decorator
358
+ # def on_dark_sea_green1_193: () -> Decorator
359
+ # def on_dark_sea_green2: () -> Decorator
360
+ # def on_dark_sea_green2_157: () -> Decorator
361
+ # def on_dark_sea_green3: () -> Decorator
362
+ # def on_dark_sea_green3_150: () -> Decorator
363
+ # def on_dark_sea_green4: () -> Decorator
364
+ # def on_dark_sea_green4_71: () -> Decorator
365
+ # def on_dark_slate_blue: () -> Decorator
366
+ # def on_dark_slate_gray: () -> Decorator
367
+ # def on_dark_slate_gray1: () -> Decorator
368
+ # def on_dark_slate_gray2: () -> Decorator
369
+ # def on_dark_slate_gray3: () -> Decorator
370
+ # def on_dark_turquoise: () -> Decorator
371
+ # def on_dark_violet: () -> Decorator
372
+ # def on_dark_violet_128: () -> Decorator
373
+ # def on_deep_pink: () -> Decorator
374
+ # def on_deep_pink1: () -> Decorator
375
+ # def on_deep_pink1_199: () -> Decorator
376
+ # def on_deep_pink2: () -> Decorator
377
+ # def on_deep_pink3: () -> Decorator
378
+ # def on_deep_pink3_162: () -> Decorator
379
+ # def on_deep_pink4: () -> Decorator
380
+ # def on_deep_pink4_125: () -> Decorator
381
+ # def on_deep_pink4_89: () -> Decorator
382
+ # def on_deep_sky_blue: () -> Decorator
383
+ # def on_deep_sky_blue1: () -> Decorator
384
+ # def on_deep_sky_blue2: () -> Decorator
385
+ # def on_deep_sky_blue3: () -> Decorator
386
+ # def on_deep_sky_blue3_32: () -> Decorator
387
+ # def on_deep_sky_blue4: () -> Decorator
388
+ # def on_deep_sky_blue4_24: () -> Decorator
389
+ # def on_deep_sky_blue4_25: () -> Decorator
390
+ # def on_dim_gray: () -> Decorator
391
+ # def on_dodger_blue: () -> Decorator
392
+ # def on_dodger_blue1: () -> Decorator
393
+ # def on_dodger_blue2: () -> Decorator
394
+ # def on_dodger_blue3: () -> Decorator
395
+ # def on_firebrick: () -> Decorator
396
+ # def on_floral_white: () -> Decorator
397
+ # def on_forest_green: () -> Decorator
398
+ # def on_fuchsia: () -> Decorator
399
+ # def on_fuchsia_system: () -> Decorator
400
+ # def on_gainsboro: () -> Decorator
401
+ # def on_ghost_white: () -> Decorator
402
+ # def on_gold: () -> Decorator
403
+ # def on_gold1: () -> Decorator
404
+ # def on_gold3: () -> Decorator
405
+ # def on_gold3_178: () -> Decorator
406
+ # def on_goldenrod: () -> Decorator
407
+ # def on_gray: () -> Decorator
408
+ # def on_green: () -> Decorator
409
+ # def on_green1: () -> Decorator
410
+ # def on_green3: () -> Decorator
411
+ # def on_green3_40: () -> Decorator
412
+ # def on_green4: () -> Decorator
413
+ # def on_green_system: () -> Decorator
414
+ # def on_green_yellow: () -> Decorator
415
+ # def on_grey0: () -> Decorator
416
+ # def on_grey100: () -> Decorator
417
+ # def on_grey11: () -> Decorator
418
+ # def on_grey15: () -> Decorator
419
+ # def on_grey19: () -> Decorator
420
+ # def on_grey23: () -> Decorator
421
+ # def on_grey27: () -> Decorator
422
+ # def on_grey3: () -> Decorator
423
+ # def on_grey30: () -> Decorator
424
+ # def on_grey35: () -> Decorator
425
+ # def on_grey37: () -> Decorator
426
+ # def on_grey39: () -> Decorator
427
+ # def on_grey42: () -> Decorator
428
+ # def on_grey46: () -> Decorator
429
+ # def on_grey50: () -> Decorator
430
+ # def on_grey53: () -> Decorator
431
+ # def on_grey54: () -> Decorator
432
+ # def on_grey58: () -> Decorator
433
+ # def on_grey62: () -> Decorator
434
+ # def on_grey66: () -> Decorator
435
+ # def on_grey7: () -> Decorator
436
+ # def on_grey70: () -> Decorator
437
+ # def on_grey74: () -> Decorator
438
+ # def on_grey78: () -> Decorator
439
+ # def on_grey82: () -> Decorator
440
+ # def on_grey84: () -> Decorator
441
+ # def on_grey85: () -> Decorator
442
+ # def on_grey89: () -> Decorator
443
+ # def on_grey93: () -> Decorator
444
+ # def on_grey_system: () -> Decorator
445
+ # def on_honeydew: () -> Decorator
446
+ # def on_honeydew2: () -> Decorator
447
+ # def on_hot_pink: () -> Decorator
448
+ # def on_hot_pink2: () -> Decorator
449
+ # def on_hot_pink3: () -> Decorator
450
+ # def on_hot_pink3_168: () -> Decorator
451
+ # def on_hot_pink_206: () -> Decorator
452
+ # def on_indian_red: () -> Decorator
453
+ # def on_indian_red1: () -> Decorator
454
+ # def on_indian_red1_204: () -> Decorator
455
+ # def on_indian_red_167: () -> Decorator
456
+ # def on_indigo: () -> Decorator
457
+ # def on_ivory: () -> Decorator
458
+ # def on_khaki: () -> Decorator
459
+ # def on_khaki1: () -> Decorator
460
+ # def on_khaki3: () -> Decorator
461
+ # def on_lavender: () -> Decorator
462
+ # def on_lavender_blush: () -> Decorator
463
+ # def on_lawn_green: () -> Decorator
464
+ # def on_lemon_chiffon: () -> Decorator
465
+ # def on_light_blue: () -> Decorator
466
+ # def on_light_coral: () -> Decorator
467
+ # def on_light_cyan: () -> Decorator
468
+ # def on_light_cyan1: () -> Decorator
469
+ # def on_light_cyan3: () -> Decorator
470
+ # def on_light_goldenrod1: () -> Decorator
471
+ # def on_light_goldenrod2: () -> Decorator
472
+ # def on_light_goldenrod2_221: () -> Decorator
473
+ # def on_light_goldenrod3: () -> Decorator
474
+ # def on_light_goldenrod_yellow: () -> Decorator
475
+ # def on_light_gray: () -> Decorator
476
+ # def on_light_green: () -> Decorator
477
+ # def on_light_green_120: () -> Decorator
478
+ # def on_light_pink: () -> Decorator
479
+ # def on_light_pink1: () -> Decorator
480
+ # def on_light_pink3: () -> Decorator
481
+ # def on_light_pink4: () -> Decorator
482
+ # def on_light_salmon: () -> Decorator
483
+ # def on_light_salmon1: () -> Decorator
484
+ # def on_light_salmon3: () -> Decorator
485
+ # def on_light_salmon3_173: () -> Decorator
486
+ # def on_light_sea_green: () -> Decorator
487
+ # def on_light_sky_blue: () -> Decorator
488
+ # def on_light_sky_blue1: () -> Decorator
489
+ # def on_light_sky_blue3: () -> Decorator
490
+ # def on_light_sky_blue3_110: () -> Decorator
491
+ # def on_light_slate_blue: () -> Decorator
492
+ # def on_light_slate_gray: () -> Decorator
493
+ # def on_light_slate_grey: () -> Decorator
494
+ # def on_light_steel_blue: () -> Decorator
495
+ # def on_light_steel_blue1: () -> Decorator
496
+ # def on_light_steel_blue3: () -> Decorator
497
+ # def on_light_yellow: () -> Decorator
498
+ # def on_lime: () -> Decorator
499
+ # def on_lime_green: () -> Decorator
500
+ # def on_lime_system: () -> Decorator
501
+ # def on_linen: () -> Decorator
502
+ # def on_magenta: () -> Decorator
503
+ # def on_magenta1: () -> Decorator
504
+ # def on_magenta2: () -> Decorator
505
+ # def on_magenta2_200: () -> Decorator
506
+ # def on_magenta3: () -> Decorator
507
+ # def on_magenta3_163: () -> Decorator
508
+ # def on_magenta3_164: () -> Decorator
509
+ # def on_maroon: () -> Decorator
510
+ # def on_maroon_system: () -> Decorator
511
+ # def on_medium_aquamarine: () -> Decorator
512
+ # def on_medium_blue: () -> Decorator
513
+ # def on_medium_orchid: () -> Decorator
514
+ # def on_medium_orchid1: () -> Decorator
515
+ # def on_medium_orchid1_207: () -> Decorator
516
+ # def on_medium_orchid3: () -> Decorator
517
+ # def on_medium_purple: () -> Decorator
518
+ # def on_medium_purple1: () -> Decorator
519
+ # def on_medium_purple2: () -> Decorator
520
+ # def on_medium_purple2_140: () -> Decorator
521
+ # def on_medium_purple3: () -> Decorator
522
+ # def on_medium_purple3_98: () -> Decorator
523
+ # def on_medium_purple4: () -> Decorator
524
+ # def on_medium_sea_green: () -> Decorator
525
+ # def on_medium_slate_blue: () -> Decorator
526
+ # def on_medium_spring_green: () -> Decorator
527
+ # def on_medium_turquoise: () -> Decorator
528
+ # def on_medium_violet_red: () -> Decorator
529
+ # def on_midnight_blue: () -> Decorator
530
+ # def on_mint_cream: () -> Decorator
531
+ # def on_misty_rose: () -> Decorator
532
+ # def on_misty_rose1: () -> Decorator
533
+ # def on_misty_rose3: () -> Decorator
534
+ # def on_moccasin: () -> Decorator
535
+ # def on_navajo_white: () -> Decorator
536
+ # def on_navajo_white1: () -> Decorator
537
+ # def on_navajo_white3: () -> Decorator
538
+ # def on_navy: () -> Decorator
539
+ # def on_navy_blue: () -> Decorator
540
+ # def on_navy_system: () -> Decorator
541
+ # def on_old_lace: () -> Decorator
542
+ # def on_olive: () -> Decorator
543
+ # def on_olive_drab: () -> Decorator
544
+ # def on_olive_system: () -> Decorator
545
+ # def on_orange: () -> Decorator
546
+ # def on_orange1: () -> Decorator
547
+ # def on_orange3: () -> Decorator
548
+ # def on_orange4: () -> Decorator
549
+ # def on_orange4_94: () -> Decorator
550
+ # def on_orange_red: () -> Decorator
551
+ # def on_orange_red1: () -> Decorator
552
+ # def on_orchid: () -> Decorator
553
+ # def on_orchid1: () -> Decorator
554
+ # def on_orchid2: () -> Decorator
555
+ # def on_pale_goldenrod: () -> Decorator
556
+ # def on_pale_green: () -> Decorator
557
+ # def on_pale_green1: () -> Decorator
558
+ # def on_pale_green1_156: () -> Decorator
559
+ # def on_pale_green3: () -> Decorator
560
+ # def on_pale_green3_114: () -> Decorator
561
+ # def on_pale_turquoise: () -> Decorator
562
+ # def on_pale_turquoise1: () -> Decorator
563
+ # def on_pale_turquoise4: () -> Decorator
564
+ # def on_pale_violet_red: () -> Decorator
565
+ # def on_pale_violet_red1: () -> Decorator
566
+ # def on_papaya_whip: () -> Decorator
567
+ # def on_peach_puff: () -> Decorator
568
+ # def on_peru: () -> Decorator
569
+ # def on_pink: () -> Decorator
570
+ # def on_pink1: () -> Decorator
571
+ # def on_pink3: () -> Decorator
572
+ # def on_plum: () -> Decorator
573
+ # def on_plum1: () -> Decorator
574
+ # def on_plum2: () -> Decorator
575
+ # def on_plum3: () -> Decorator
576
+ # def on_plum4: () -> Decorator
577
+ # def on_powder_blue: () -> Decorator
578
+ # def on_purple: () -> Decorator
579
+ # def on_purple3: () -> Decorator
580
+ # def on_purple4: () -> Decorator
581
+ # def on_purple4_55: () -> Decorator
582
+ # def on_purple_129: () -> Decorator
583
+ # def on_purple_system: () -> Decorator
584
+ # def on_red: () -> Decorator
585
+ # def on_red1: () -> Decorator
586
+ # def on_red3: () -> Decorator
587
+ # def on_red3_160: () -> Decorator
588
+ # def on_red_system: () -> Decorator
589
+ # def on_rosy_brown: () -> Decorator
590
+ # def on_royal_blue: () -> Decorator
591
+ # def on_royal_blue1: () -> Decorator
592
+ # def on_saddle_brown: () -> Decorator
593
+ # def on_salmon: () -> Decorator
594
+ # def on_salmon1: () -> Decorator
595
+ # def on_sandy_brown: () -> Decorator
596
+ # def on_sea_green: () -> Decorator
597
+ # def on_sea_shell: () -> Decorator
598
+ # def on_sienna: () -> Decorator
599
+ # def on_silver: () -> Decorator
600
+ # def on_silver_system: () -> Decorator
601
+ # def on_sky_blue: () -> Decorator
602
+ # def on_sky_blue1: () -> Decorator
603
+ # def on_sky_blue2: () -> Decorator
604
+ # def on_sky_blue3: () -> Decorator
605
+ # def on_slate_blue: () -> Decorator
606
+ # def on_slate_blue1: () -> Decorator
607
+ # def on_slate_blue3: () -> Decorator
608
+ # def on_slate_blue3_62: () -> Decorator
609
+ # def on_slate_gray: () -> Decorator
610
+ # def on_snow: () -> Decorator
611
+ # def on_spring_green: () -> Decorator
612
+ # def on_spring_green1: () -> Decorator
613
+ # def on_spring_green2: () -> Decorator
614
+ # def on_spring_green2_47: () -> Decorator
615
+ # def on_spring_green3: () -> Decorator
616
+ # def on_spring_green3_41: () -> Decorator
617
+ # def on_spring_green4: () -> Decorator
618
+ # def on_steel_blue: () -> Decorator
619
+ # def on_steel_blue1: () -> Decorator
620
+ # def on_steel_blue1_81: () -> Decorator
621
+ # def on_steel_blue3: () -> Decorator
622
+ # def on_tan: () -> Decorator
623
+ # def on_teal: () -> Decorator
624
+ # def on_teal_system: () -> Decorator
625
+ # def on_thistle: () -> Decorator
626
+ # def on_thistle1: () -> Decorator
627
+ # def on_thistle3: () -> Decorator
628
+ # def on_tomato: () -> Decorator
629
+ # def on_turquoise: () -> Decorator
630
+ # def on_turquoise2: () -> Decorator
631
+ # def on_turquoise4: () -> Decorator
632
+ # def on_violet: () -> Decorator
633
+ # def on_wheat: () -> Decorator
634
+ # def on_wheat1: () -> Decorator
635
+ # def on_wheat4: () -> Decorator
636
+ # def on_white: () -> Decorator
637
+ # def on_white_smoke: () -> Decorator
638
+ # def on_white_system: () -> Decorator
639
+ # def on_yellow: () -> Decorator
640
+ # def on_yellow1: () -> Decorator
641
+ # def on_yellow2: () -> Decorator
642
+ # def on_yellow3: () -> Decorator
643
+ # def on_yellow3_184: () -> Decorator
644
+ # def on_yellow4: () -> Decorator
645
+ # def on_yellow4_106: () -> Decorator
646
+ # def on_yellow_green: () -> Decorator
647
+ # def on_yellow_system: () -> Decorator
648
+ # def orange: () -> Decorator
649
+ # def orange1: () -> Decorator
650
+ # def orange3: () -> Decorator
651
+ # def orange4: () -> Decorator
652
+ # def orange4_94: () -> Decorator
653
+ # def orange_red: () -> Decorator
654
+ # def orange_red1: () -> Decorator
655
+ # def orchid: () -> Decorator
656
+ # def orchid1: () -> Decorator
657
+ # def orchid2: () -> Decorator
658
+ # def pale_goldenrod: () -> Decorator
659
+ # def pale_green: () -> Decorator
660
+ # def pale_green1: () -> Decorator
661
+ # def pale_green1_156: () -> Decorator
662
+ # def pale_green3: () -> Decorator
663
+ # def pale_green3_114: () -> Decorator
664
+ # def pale_turquoise: () -> Decorator
665
+ # def pale_turquoise1: () -> Decorator
666
+ # def pale_turquoise4: () -> Decorator
667
+ # def pale_violet_red: () -> Decorator
668
+ # def pale_violet_red1: () -> Decorator
669
+ # def papaya_whip: () -> Decorator
670
+ # def peach_puff: () -> Decorator
671
+ # def peru: () -> Decorator
672
+ # def pink: () -> Decorator
673
+ # def pink1: () -> Decorator
674
+ # def pink3: () -> Decorator
675
+ # def plum: () -> Decorator
676
+ # def plum1: () -> Decorator
677
+ # def plum2: () -> Decorator
678
+ # def plum3: () -> Decorator
679
+ # def plum4: () -> Decorator
680
+ # def powder_blue: () -> Decorator
681
+ # def purple: () -> Decorator
682
+ # def purple3: () -> Decorator
683
+ # def purple4: () -> Decorator
684
+ # def purple4_55: () -> Decorator
685
+ # def purple_129: () -> Decorator
686
+ # def purple_system: () -> Decorator
687
+ # def red: () -> Decorator
688
+ # def red1: () -> Decorator
689
+ # def red3: () -> Decorator
690
+ # def red3_160: () -> Decorator
691
+ # def red_system: () -> Decorator
692
+ # def rosy_brown: () -> Decorator
693
+ # def royal_blue: () -> Decorator
694
+ # def royal_blue1: () -> Decorator
695
+ # def saddle_brown: () -> Decorator
696
+ # def salmon: () -> Decorator
697
+ # def salmon1: () -> Decorator
698
+ # def sandy_brown: () -> Decorator
699
+ # def sea_green: () -> Decorator
700
+ # def sea_shell: () -> Decorator
701
+ # def sienna: () -> Decorator
702
+ # def silver: () -> Decorator
703
+ # def silver_system: () -> Decorator
704
+ # def sky_blue: () -> Decorator
705
+ # def sky_blue1: () -> Decorator
706
+ # def sky_blue2: () -> Decorator
707
+ # def sky_blue3: () -> Decorator
708
+ # def slate_blue: () -> Decorator
709
+ # def slate_blue1: () -> Decorator
710
+ # def slate_blue3: () -> Decorator
711
+ # def slate_blue3_62: () -> Decorator
712
+ # def slate_gray: () -> Decorator
713
+ # def snow: () -> Decorator
714
+ # def spring_green: () -> Decorator
715
+ # def spring_green1: () -> Decorator
716
+ # def spring_green2: () -> Decorator
717
+ # def spring_green2_47: () -> Decorator
718
+ # def spring_green3: () -> Decorator
719
+ # def spring_green3_41: () -> Decorator
720
+ # def spring_green4: () -> Decorator
721
+ # def steel_blue: () -> Decorator
722
+ # def steel_blue1: () -> Decorator
723
+ # def steel_blue1_81: () -> Decorator
724
+ # def steel_blue3: () -> Decorator
725
+ # def tan: () -> Decorator
726
+ # def teal: () -> Decorator
727
+ # def teal_system: () -> Decorator
728
+ # def thistle: () -> Decorator
729
+ # def thistle1: () -> Decorator
730
+ # def thistle3: () -> Decorator
731
+ # def tomato: () -> Decorator
732
+ # def turquoise: () -> Decorator
733
+ # def turquoise2: () -> Decorator
734
+ # def turquoise4: () -> Decorator
735
+ # def violet: () -> Decorator
736
+ # def wheat: () -> Decorator
737
+ # def wheat1: () -> Decorator
738
+ # def wheat4: () -> Decorator
739
+ # def white: () -> Decorator
740
+ # def white_smoke: () -> Decorator
741
+ # def white_system: () -> Decorator
742
+ # def yellow: () -> Decorator
743
+ # def yellow1: () -> Decorator
744
+ # def yellow2: () -> Decorator
745
+ # def yellow3: () -> Decorator
746
+ # def yellow3_184: () -> Decorator
747
+ # def yellow4: () -> Decorator
748
+ # def yellow4_106: () -> Decorator
749
+ # def yellow_green: () -> Decorator
750
+ # def yellow_system: () -> Decorator
751
+
752
+ Sai::NamedColors.names.each do |color|
753
+ define_method(color) do
754
+ apply_named_color(:foreground, color)
755
+ end
756
+ define_method(:"on_#{color}") do
757
+ apply_named_color(:background, color)
758
+ end
759
+ end
760
+
761
+ private
762
+
763
+ # Apply a named color to the specified style type
764
+ #
765
+ # @author {https://aaronmallen.me Aaron Allen}
766
+ # @since 0.1.0
767
+ #
768
+ # @api private
769
+ #
770
+ # @param style_type [Symbol] the style type to apply the color to
771
+ # @param color [Symbol] the color to apply
772
+ #
773
+ # @return [Decorator] a new instance of Decorator with the color applied
774
+ # @rbs (Conversion::ColorSequence::style_type style_type, Symbol color) -> Decorator
775
+ def apply_named_color(style_type, color)
776
+ dup.tap { |duped| duped.instance_variable_set(:"@#{style_type}", color) } #: Decorator
777
+ end
778
+ end
779
+ end
780
+ end