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