sai 0.3.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aaron Allen
8
+ autorequire:
8
9
  bindir: bin
9
10
  cert_chain: []
10
- date: 2025-01-22 00:00:00.000000000 Z
11
+ date: 2025-01-23 00:00:00.000000000 Z
11
12
  dependencies: []
12
13
  description: |-
13
14
  Sai (彩) - meaning 'coloring' or 'paint' in Japanese - is a powerful and intuitive system for managing color output in command-line applications. Drawing inspiration from traditional Japanese artistic techniques, Sai brings vibrancy and harmony to terminal interfaces through its sophisticated color management.
@@ -37,14 +38,14 @@ files:
37
38
  - lib/sai/conversion/rgb/color_transformer.rb
38
39
  - lib/sai/decorator.rb
39
40
  - lib/sai/decorator/color_manipulations.rb
40
- - lib/sai/decorator/delegation.rb
41
+ - lib/sai/decorator/delegator.rb
41
42
  - lib/sai/decorator/gradients.rb
42
43
  - lib/sai/decorator/hex_colors.rb
43
44
  - lib/sai/decorator/named_colors.rb
44
45
  - lib/sai/decorator/named_styles.rb
45
46
  - lib/sai/decorator/rgb_colors.rb
46
47
  - lib/sai/mode_selector.rb
47
- - lib/sai/named_colors.rb
48
+ - lib/sai/registry.rb
48
49
  - lib/sai/support.rb
49
50
  - lib/sai/terminal/capabilities.rb
50
51
  - lib/sai/terminal/color_mode.rb
@@ -63,14 +64,14 @@ files:
63
64
  - sig/sai/conversion/rgb/color_transformer.rbs
64
65
  - sig/sai/decorator.rbs
65
66
  - sig/sai/decorator/color_manipulations.rbs
66
- - sig/sai/decorator/delegation.rbs
67
+ - sig/sai/decorator/delegator.rbs
67
68
  - sig/sai/decorator/gradients.rbs
68
69
  - sig/sai/decorator/hex_colors.rbs
69
70
  - sig/sai/decorator/named_colors.rbs
70
71
  - sig/sai/decorator/named_styles.rbs
71
72
  - sig/sai/decorator/rgb_colors.rbs
72
73
  - sig/sai/mode_selector.rbs
73
- - sig/sai/named_colors.rbs
74
+ - sig/sai/registry.rbs
74
75
  - sig/sai/support.rbs
75
76
  - sig/sai/terminal/capabilities.rbs
76
77
  - sig/sai/terminal/color_mode.rbs
@@ -79,10 +80,11 @@ licenses:
79
80
  - MIT
80
81
  metadata:
81
82
  bug_tracker_uri: https://github.com/aaronmallen/sai/issues
82
- changelog_uri: https://github.com/aaronmallen/sai/releases/tag/0.3.1
83
+ changelog_uri: https://github.com/aaronmallen/sai/releases/tag/0.4.0
83
84
  homepage_uri: https://github.com/aaronmallen/sai
84
85
  rubygems_mfa_required: 'true'
85
- source_code_uri: https://github.com/aaronmallen/sai/tree/0.3.1
86
+ source_code_uri: https://github.com/aaronmallen/sai/tree/0.4.0
87
+ post_install_message:
86
88
  rdoc_options: []
87
89
  require_paths:
88
90
  - lib
@@ -97,7 +99,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
97
99
  - !ruby/object:Gem::Version
98
100
  version: '0'
99
101
  requirements: []
100
- rubygems_version: 3.6.2
102
+ rubygems_version: 3.3.27
103
+ signing_key:
101
104
  specification_version: 4
102
105
  summary: An elegant color management system for crafting sophisticated CLI applications
103
106
  test_files: []
@@ -1,84 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'sai/decorator'
4
- require 'sai/decorator/color_manipulations'
5
- require 'sai/decorator/gradients'
6
- require 'sai/decorator/hex_colors'
7
- require 'sai/decorator/named_colors'
8
- require 'sai/decorator/named_styles'
9
- require 'sai/decorator/rgb_colors'
10
-
11
- module Sai
12
- class Decorator
13
- # Delegates all methods from the Decorator class and its component modules
14
- #
15
- # @author {https://aaronmallen.me Aaron Allen}
16
- # @since 0.3.1
17
- #
18
- # @api private
19
- module Delegation
20
- # The list of component modules to delegate methods from
21
- #
22
- # @author {https://aaronmallen.me Aaron Allen}
23
- # @since 0.3.1
24
- #
25
- # @api private
26
- #
27
- # @return [Array<Symbol>] the list of component modules
28
- COMPONENT_MODULES = %i[
29
- ColorManipulations
30
- Gradients
31
- HexColors
32
- NamedColors
33
- NamedStyles
34
- RGBColors
35
- ].freeze #: Array[Symbol]
36
- private_constant :COMPONENT_MODULES
37
-
38
- class << self
39
- # Install delegated methods on the given class or module
40
- #
41
- # @author {https://aaronmallen.me Aaron Allen}
42
- # @since 0.3.1
43
- #
44
- # @api private
45
- #
46
- # @param klass [Class, Module] the class or module to install the methods on
47
- #
48
- # @return [void]
49
- # @rbs (Class | Module) -> void
50
- def install(klass)
51
- ignored_methods = %i[apply call decorate encode]
52
- methods = collect_delegatable_methods.reject { |m| ignored_methods.include?(m) }
53
-
54
- methods.each do |method|
55
- klass.define_method(method) do |*args, **kwargs|
56
- Decorator.new(mode: Sai.mode.auto).public_send(method, *args, **kwargs)
57
- end
58
- end
59
- end
60
-
61
- private
62
-
63
- # Collect all methods from the Decorator class and its component modules
64
- #
65
- # @author {https://aaronmallen.me Aaron Allen}
66
- # @since 0.3.1
67
- #
68
- # @api private
69
- #
70
- # @return [Array<Symbol>] the list of methods to delegate
71
- # @rbs () -> Array[Symbol]
72
- def collect_delegatable_methods
73
- methods = Decorator.instance_methods(false)
74
-
75
- COMPONENT_MODULES.each do |mod|
76
- methods.concat(Decorator.const_get(mod).instance_methods(false))
77
- end
78
-
79
- methods.uniq
80
- end
81
- end
82
- end
83
- end
84
- end
@@ -1,437 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Sai
4
- # A collection of named colors and their RGB values
5
- #
6
- # @author {https://aaronmallen.me Aaron Allen}
7
- # @since 0.3.1
8
- #
9
- # @api private
10
- module NamedColors
11
- # Standard ANSI color names and their RGB values
12
- #
13
- # @author {https://aaronmallen.me Aaron Allen}
14
- # @since 0.3.1
15
- #
16
- # @api private
17
- #
18
- # @return [Hash{Symbol => Array<Integer>}] the color names and RGB values
19
- ANSI = {
20
- black: [0, 0, 0],
21
- red: [205, 0, 0],
22
- green: [0, 205, 0],
23
- yellow: [205, 205, 0],
24
- blue: [0, 0, 238],
25
- magenta: [205, 0, 205],
26
- cyan: [0, 205, 205],
27
- white: [229, 229, 229],
28
- bright_black: [127, 127, 127],
29
- bright_red: [255, 0, 0],
30
- bright_green: [0, 255, 0],
31
- bright_yellow: [255, 255, 0],
32
- bright_blue: [92, 92, 255],
33
- bright_magenta: [255, 0, 255],
34
- bright_cyan: [0, 255, 255],
35
- bright_white: [255, 255, 255]
36
- }.freeze # Hash[Symbol, Array[Integer]]
37
-
38
- # CSS color names and their RGB values
39
- #
40
- # @author {https://aaronmallen.me Aaron Allen}
41
- # @since 0.3.1
42
- #
43
- # @api private
44
- #
45
- # @return [Hash{Symbol => Array<Integer>}] the color names and RGB values
46
- CSS = {
47
- alice_blue: [240, 248, 255],
48
- antique_white: [250, 235, 215],
49
- aqua: [0, 255, 255],
50
- aquamarine: [127, 255, 212],
51
- azure: [240, 255, 255],
52
- beige: [245, 245, 220],
53
- bisque: [255, 228, 196],
54
- blanched_almond: [255, 235, 205],
55
- brown: [165, 42, 42],
56
- burly_wood: [222, 184, 135],
57
- chartreuse: [127, 255, 0],
58
- chocolate: [210, 105, 30],
59
- coral: [255, 127, 80],
60
- cornsilk: [255, 248, 220],
61
- crimson: [220, 20, 60],
62
- dark_gray: [169, 169, 169],
63
- dark_olive_green: [85, 107, 47],
64
- dark_orchid: [153, 50, 204],
65
- dark_salmon: [233, 150, 122],
66
- dark_slate_blue: [72, 61, 139],
67
- dark_slate_gray: [47, 79, 79],
68
- deep_pink: [255, 20, 147],
69
- deep_sky_blue: [0, 191, 255],
70
- dim_gray: [105, 105, 105],
71
- dodger_blue: [30, 144, 255],
72
- firebrick: [178, 34, 34],
73
- floral_white: [255, 250, 240],
74
- forest_green: [34, 139, 34],
75
- fuchsia: [255, 0, 255],
76
- gainsboro: [220, 220, 220],
77
- ghost_white: [248, 248, 255],
78
- gold: [255, 215, 0],
79
- goldenrod: [218, 165, 32],
80
- gray: [128, 128, 128],
81
- honeydew: [240, 255, 240],
82
- indigo: [75, 0, 130],
83
- ivory: [255, 255, 240],
84
- khaki: [240, 230, 140],
85
- lavender: [230, 230, 250],
86
- lavender_blush: [255, 240, 245],
87
- lawn_green: [124, 252, 0],
88
- lemon_chiffon: [255, 250, 205],
89
- light_blue: [173, 216, 230],
90
- light_cyan: [224, 255, 255],
91
- light_goldenrod_yellow: [250, 250, 210],
92
- light_gray: [211, 211, 211],
93
- light_pink: [255, 182, 193],
94
- light_salmon: [255, 160, 122],
95
- light_sea_green: [32, 178, 170],
96
- light_sky_blue: [135, 206, 250],
97
- light_slate_gray: [119, 136, 153],
98
- light_yellow: [255, 255, 224],
99
- lime: [0, 255, 0],
100
- lime_green: [50, 205, 50],
101
- linen: [250, 240, 230],
102
- maroon: [128, 0, 0],
103
- medium_aquamarine: [102, 205, 170],
104
- medium_blue: [0, 0, 205],
105
- medium_sea_green: [60, 179, 113],
106
- medium_slate_blue: [123, 104, 238],
107
- midnight_blue: [25, 25, 112],
108
- mint_cream: [245, 255, 250],
109
- misty_rose: [255, 228, 225],
110
- moccasin: [255, 228, 181],
111
- navajo_white: [255, 222, 173],
112
- navy: [0, 0, 128],
113
- old_lace: [253, 245, 230],
114
- olive: [128, 128, 0],
115
- olive_drab: [107, 142, 35],
116
- orange: [255, 165, 0],
117
- orange_red: [255, 69, 0],
118
- pale_goldenrod: [238, 232, 170],
119
- pale_green: [152, 251, 152],
120
- pale_turquoise: [175, 238, 238],
121
- pale_violet_red: [219, 112, 147],
122
- papaya_whip: [255, 239, 213],
123
- peach_puff: [255, 218, 185],
124
- peru: [205, 133, 63],
125
- pink: [255, 192, 203],
126
- plum: [221, 160, 221],
127
- powder_blue: [176, 224, 230],
128
- royal_blue: [65, 105, 225],
129
- saddle_brown: [139, 69, 19],
130
- salmon: [250, 128, 114],
131
- sea_green: [46, 139, 87],
132
- sea_shell: [255, 245, 238],
133
- sienna: [160, 82, 45],
134
- silver: [192, 192, 192],
135
- sky_blue: [135, 206, 235],
136
- slate_blue: [106, 90, 205],
137
- slate_gray: [112, 128, 144],
138
- snow: [255, 250, 250],
139
- spring_green: [0, 255, 127],
140
- teal: [0, 128, 128],
141
- thistle: [216, 191, 216],
142
- tomato: [255, 99, 71],
143
- turquoise: [64, 224, 208],
144
- wheat: [245, 222, 179],
145
- white_smoke: [245, 245, 245],
146
- yellow_green: [154, 205, 50]
147
- }.freeze #: Hash[Symbol, Array[Integer]]
148
-
149
- # XTERM color names and their RGB values
150
- #
151
- # @author {https://aaronmallen.me Aaron Allen}
152
- # @since 0.3.1
153
- #
154
- # @api private
155
- #
156
- # @return [Hash{Symbol => Array<Integer>}] the color names and RGB values
157
- # rubocop:disable Naming/VariableNumber
158
- XTERM = {
159
- aqua_system: [0, 255, 255],
160
- aquamarine1: [95, 255, 215],
161
- aquamarine1_122: [135, 255, 215],
162
- aquamarine3: [95, 215, 175],
163
- black_system: [0, 0, 0],
164
- blue1: [0, 0, 255],
165
- blue_system: [0, 0, 255],
166
- blue_violet: [95, 0, 255],
167
- blue3: [0, 0, 175],
168
- blue3_20: [0, 0, 215],
169
- cadet_blue: [95, 175, 135],
170
- cadet_blue_73: [95, 175, 175],
171
- chartreuse1: [135, 255, 0],
172
- chartreuse2: [95, 255, 0],
173
- chartreuse2_112: [135, 215, 0],
174
- chartreuse3: [95, 175, 0],
175
- chartreuse3_76: [95, 215, 0],
176
- chartreuse4: [95, 135, 0],
177
- cornflower_blue: [95, 135, 255],
178
- cornsilk1: [255, 255, 215],
179
- cyan1: [0, 255, 255],
180
- cyan2: [0, 255, 215],
181
- cyan3: [0, 215, 175],
182
- dark_blue: [0, 0, 135],
183
- dark_cyan: [0, 175, 135],
184
- dark_goldenrod: [175, 135, 0],
185
- dark_green: [0, 95, 0],
186
- dark_khaki: [175, 175, 95],
187
- dark_magenta: [135, 0, 135],
188
- dark_magenta_91: [135, 0, 175],
189
- dark_olive_green1: [215, 255, 95],
190
- dark_olive_green1_192: [215, 255, 135],
191
- dark_olive_green2: [175, 255, 95],
192
- dark_olive_green3: [135, 175, 95],
193
- dark_olive_green3_113: [135, 215, 95],
194
- dark_olive_green3_149: [175, 215, 95],
195
- dark_orange: [255, 135, 0],
196
- dark_orange3: [175, 95, 0],
197
- dark_orange3_166: [215, 95, 0],
198
- dark_red: [95, 0, 0],
199
- dark_red_88: [135, 0, 0],
200
- dark_sea_green: [135, 175, 135],
201
- dark_sea_green1: [175, 255, 215],
202
- dark_sea_green1_193: [215, 255, 175],
203
- dark_sea_green2: [175, 215, 175],
204
- dark_sea_green2_157: [175, 255, 175],
205
- dark_sea_green3: [135, 215, 175],
206
- dark_sea_green3_150: [175, 215, 135],
207
- dark_sea_green4: [95, 135, 95],
208
- dark_sea_green4_71: [95, 175, 95],
209
- dark_slate_gray1: [135, 255, 255],
210
- dark_slate_gray2: [95, 255, 255],
211
- dark_slate_gray3: [135, 215, 215],
212
- dark_turquoise: [0, 215, 215],
213
- dark_violet: [135, 0, 215],
214
- dark_violet_128: [175, 0, 215],
215
- deep_pink1: [255, 0, 135],
216
- deep_pink1_199: [255, 0, 175],
217
- deep_pink2: [255, 0, 95],
218
- deep_pink3: [215, 0, 95],
219
- deep_pink3_162: [215, 0, 135],
220
- deep_pink4: [95, 0, 95],
221
- deep_pink4_89: [135, 0, 95],
222
- deep_pink4_125: [175, 0, 95],
223
- deep_sky_blue1: [0, 175, 255],
224
- deep_sky_blue2: [0, 175, 215],
225
- deep_sky_blue3: [0, 135, 175],
226
- deep_sky_blue3_32: [0, 135, 215],
227
- deep_sky_blue4: [0, 95, 95],
228
- deep_sky_blue4_24: [0, 95, 135],
229
- deep_sky_blue4_25: [0, 95, 175],
230
- dodger_blue1: [0, 135, 255],
231
- dodger_blue2: [0, 95, 255],
232
- dodger_blue3: [0, 95, 215],
233
- fuchsia_system: [255, 0, 255],
234
- gold1: [255, 215, 0],
235
- gold3: [175, 175, 0],
236
- gold3_178: [215, 175, 0],
237
- green1: [0, 255, 0],
238
- green3: [0, 175, 0],
239
- green3_40: [0, 215, 0],
240
- green4: [0, 135, 0],
241
- green_system: [0, 128, 0],
242
- green_yellow: [175, 255, 0],
243
- grey0: [0, 0, 0],
244
- grey100: [255, 255, 255],
245
- grey11: [28, 28, 28],
246
- grey15: [38, 38, 38],
247
- grey19: [48, 48, 48],
248
- grey23: [58, 58, 58],
249
- grey27: [68, 68, 68],
250
- grey3: [8, 8, 8],
251
- grey30: [78, 78, 78],
252
- grey35: [88, 88, 88],
253
- grey37: [95, 95, 95],
254
- grey39: [98, 98, 98],
255
- grey42: [108, 108, 108],
256
- grey46: [118, 118, 118],
257
- grey50: [128, 128, 128],
258
- grey53: [135, 135, 135],
259
- grey54: [138, 138, 138],
260
- grey58: [148, 148, 148],
261
- grey62: [158, 158, 158],
262
- grey66: [168, 168, 168],
263
- grey7: [18, 18, 18],
264
- grey70: [178, 178, 178],
265
- grey74: [188, 188, 188],
266
- grey78: [198, 198, 198],
267
- grey82: [208, 208, 208],
268
- grey84: [215, 215, 215],
269
- grey85: [218, 218, 218],
270
- grey89: [228, 228, 228],
271
- grey93: [238, 238, 238],
272
- grey_system: [128, 128, 128],
273
- honeydew2: [215, 255, 215],
274
- hot_pink: [255, 95, 175],
275
- hot_pink_206: [255, 95, 215],
276
- hot_pink2: [215, 95, 175],
277
- hot_pink3: [175, 95, 135],
278
- hot_pink3_168: [215, 95, 135],
279
- indian_red: [175, 95, 95],
280
- indian_red_167: [215, 95, 95],
281
- indian_red1: [255, 95, 95],
282
- indian_red1_204: [255, 95, 135],
283
- khaki1: [255, 255, 135],
284
- khaki3: [215, 215, 95],
285
- light_coral: [255, 135, 135],
286
- light_cyan1: [215, 255, 255],
287
- light_cyan3: [175, 215, 215],
288
- light_goldenrod1: [255, 255, 95],
289
- light_goldenrod2: [255, 215, 135],
290
- light_goldenrod2_221: [255, 215, 95],
291
- light_goldenrod3: [215, 175, 95],
292
- light_green: [135, 255, 95],
293
- light_green_120: [135, 255, 135],
294
- light_pink1: [255, 175, 175],
295
- light_pink3: [215, 135, 135],
296
- light_pink4: [135, 95, 95],
297
- light_salmon1: [255, 175, 135],
298
- light_salmon3: [175, 135, 95],
299
- light_salmon3_173: [215, 135, 95],
300
- light_sky_blue1: [175, 215, 255],
301
- light_sky_blue3: [135, 175, 175],
302
- light_sky_blue3_110: [135, 175, 215],
303
- light_slate_blue: [135, 135, 255],
304
- light_slate_grey: [135, 135, 175],
305
- light_steel_blue: [175, 175, 255],
306
- light_steel_blue1: [215, 215, 255],
307
- light_steel_blue3: [175, 175, 215],
308
- lime_system: [0, 255, 0],
309
- magenta1: [255, 0, 255],
310
- magenta2: [215, 0, 255],
311
- magenta2_200: [255, 0, 215],
312
- magenta3: [175, 0, 175],
313
- magenta3_163: [215, 0, 175],
314
- magenta3_164: [215, 0, 215],
315
- maroon_system: [128, 0, 0],
316
- medium_orchid: [175, 95, 215],
317
- medium_orchid1: [215, 95, 255],
318
- medium_orchid1_207: [255, 95, 255],
319
- medium_orchid3: [175, 95, 175],
320
- medium_purple: [135, 135, 215],
321
- medium_purple1: [175, 135, 255],
322
- medium_purple2: [175, 95, 255],
323
- medium_purple2_140: [175, 135, 215],
324
- medium_purple3: [135, 95, 175],
325
- medium_purple3_98: [135, 95, 215],
326
- medium_purple4: [95, 95, 135],
327
- medium_spring_green: [0, 255, 175],
328
- medium_turquoise: [95, 215, 215],
329
- medium_violet_red: [175, 0, 135],
330
- misty_rose1: [255, 215, 215],
331
- misty_rose3: [215, 175, 175],
332
- navy_blue: [0, 0, 95],
333
- navy_system: [0, 0, 128],
334
- navajo_white1: [255, 215, 175],
335
- navajo_white3: [175, 175, 135],
336
- olive_system: [128, 128, 0],
337
- orange1: [255, 175, 0],
338
- orange3: [215, 135, 0],
339
- orange4: [95, 95, 0],
340
- orange4_94: [135, 95, 0],
341
- orange_red1: [255, 95, 0],
342
- orchid: [215, 95, 215],
343
- orchid1: [255, 135, 255],
344
- orchid2: [255, 135, 215],
345
- pale_green1: [135, 255, 175],
346
- pale_green1_156: [175, 255, 135],
347
- pale_green3: [95, 215, 95],
348
- pale_green3_114: [135, 215, 135],
349
- pale_turquoise1: [175, 255, 255],
350
- pale_turquoise4: [95, 135, 135],
351
- pale_violet_red1: [255, 135, 175],
352
- pink1: [255, 175, 215],
353
- pink3: [215, 135, 175],
354
- plum1: [255, 175, 255],
355
- plum2: [215, 175, 255],
356
- plum3: [215, 135, 215],
357
- plum4: [135, 95, 135],
358
- purple: [135, 0, 255],
359
- purple_129: [175, 0, 255],
360
- purple3: [95, 0, 215],
361
- purple4: [95, 0, 135],
362
- purple4_55: [95, 0, 175],
363
- purple_system: [128, 0, 128],
364
- red1: [255, 0, 0],
365
- red3: [175, 0, 0],
366
- red3_160: [215, 0, 0],
367
- red_system: [255, 0, 0],
368
- rosy_brown: [175, 135, 135],
369
- royal_blue1: [95, 95, 255],
370
- salmon1: [255, 135, 95],
371
- sandy_brown: [255, 175, 95],
372
- silver_system: [192, 192, 192],
373
- sky_blue1: [135, 215, 255],
374
- sky_blue2: [135, 175, 255],
375
- sky_blue3: [95, 175, 215],
376
- slate_blue1: [135, 95, 255],
377
- slate_blue3: [95, 95, 175],
378
- slate_blue3_62: [95, 95, 215],
379
- spring_green1: [0, 255, 135],
380
- spring_green2: [0, 215, 135],
381
- spring_green2_47: [0, 255, 95],
382
- spring_green3: [0, 175, 95],
383
- spring_green3_41: [0, 215, 95],
384
- spring_green4: [0, 135, 95],
385
- steel_blue: [95, 135, 175],
386
- steel_blue1: [95, 175, 255],
387
- steel_blue1_81: [95, 215, 255],
388
- steel_blue3: [95, 135, 215],
389
- tan: [215, 175, 135],
390
- teal_system: [0, 128, 128],
391
- thistle1: [255, 215, 255],
392
- thistle3: [215, 175, 215],
393
- turquoise2: [0, 215, 255],
394
- turquoise4: [0, 135, 135],
395
- violet: [215, 135, 255],
396
- wheat1: [255, 255, 175],
397
- wheat4: [135, 135, 95],
398
- white_system: [255, 255, 255],
399
- yellow1: [255, 255, 0],
400
- yellow2: [215, 255, 0],
401
- yellow3: [175, 215, 0],
402
- yellow3_184: [215, 215, 0],
403
- yellow4: [135, 135, 0],
404
- yellow4_106: [135, 175, 0],
405
- yellow_system: [255, 255, 0]
406
- }.freeze #: Hash[Symbol, Array[Integer]]
407
- # rubocop:enable Naming/VariableNumber
408
-
409
- # Look up an RGB value by color name
410
- #
411
- # @author {https://aaronmallen.me Aaron Allen}
412
- # @since 0.3.1
413
- #
414
- # @api private
415
- #
416
- # @param name [String, Symbol] the color name
417
- #
418
- # @return [Array<Integer>] the RGB value
419
- # @rbs (String | Symbol name) -> Array[Integer]?
420
- def self.[](name)
421
- key = name.to_sym
422
- ANSI.fetch(key, XTERM.fetch(key, CSS.fetch(key, nil)))
423
- end
424
-
425
- # Get a list of all color names
426
- #
427
- # @author {https://aaronmallen.me Aaron Allen}
428
- # @since 0.3.1
429
- #
430
- # @api private
431
- #
432
- # @return [Array<Symbol>] the color names
433
- def self.names
434
- (ANSI.keys + CSS.keys + XTERM.keys).uniq.sort
435
- end
436
- end
437
- end
@@ -1,47 +0,0 @@
1
- # Generated from lib/sai/decorator/delegation.rb with RBS::Inline
2
-
3
- module Sai
4
- class Decorator
5
- # Delegates all methods from the Decorator class and its component modules
6
- #
7
- # @author {https://aaronmallen.me Aaron Allen}
8
- # @since 0.3.1
9
- #
10
- # @api private
11
- module Delegation
12
- # The list of component modules to delegate methods from
13
- #
14
- # @author {https://aaronmallen.me Aaron Allen}
15
- # @since 0.3.1
16
- #
17
- # @api private
18
- #
19
- # @return [Array<Symbol>] the list of component modules
20
- COMPONENT_MODULES: Array[Symbol]
21
-
22
- # Install delegated methods on the given class or module
23
- #
24
- # @author {https://aaronmallen.me Aaron Allen}
25
- # @since 0.3.1
26
- #
27
- # @api private
28
- #
29
- # @param klass [Class, Module] the class or module to install the methods on
30
- #
31
- # @return [void]
32
- # @rbs (Class | Module) -> void
33
- def self.install: (Class | Module) -> void
34
-
35
- # Collect all methods from the Decorator class and its component modules
36
- #
37
- # @author {https://aaronmallen.me Aaron Allen}
38
- # @since 0.3.1
39
- #
40
- # @api private
41
- #
42
- # @return [Array<Symbol>] the list of methods to delegate
43
- # @rbs () -> Array[Symbol]
44
- private def self.collect_delegatable_methods: () -> Array[Symbol]
45
- end
46
- end
47
- end
@@ -1,65 +0,0 @@
1
- # Generated from lib/sai/named_colors.rb with RBS::Inline
2
-
3
- module Sai
4
- # A collection of named colors and their RGB values
5
- #
6
- # @author {https://aaronmallen.me Aaron Allen}
7
- # @since 0.3.1
8
- #
9
- # @api private
10
- module NamedColors
11
- # Standard ANSI color names and their RGB values
12
- #
13
- # @author {https://aaronmallen.me Aaron Allen}
14
- # @since 0.3.1
15
- #
16
- # @api private
17
- #
18
- # @return [Hash{Symbol => Array<Integer>}] the color names and RGB values
19
- ANSI: untyped
20
-
21
- # CSS color names and their RGB values
22
- #
23
- # @author {https://aaronmallen.me Aaron Allen}
24
- # @since 0.3.1
25
- #
26
- # @api private
27
- #
28
- # @return [Hash{Symbol => Array<Integer>}] the color names and RGB values
29
- CSS: Hash[Symbol, Array[Integer]]
30
-
31
- # XTERM color names and their RGB values
32
- #
33
- # @author {https://aaronmallen.me Aaron Allen}
34
- # @since 0.3.1
35
- #
36
- # @api private
37
- #
38
- # @return [Hash{Symbol => Array<Integer>}] the color names and RGB values
39
- # rubocop:disable Naming/VariableNumber
40
- XTERM: Hash[Symbol, Array[Integer]]
41
-
42
- # Look up an RGB value by color name
43
- #
44
- # @author {https://aaronmallen.me Aaron Allen}
45
- # @since 0.3.1
46
- #
47
- # @api private
48
- #
49
- # @param name [String, Symbol] the color name
50
- #
51
- # @return [Array<Integer>] the RGB value
52
- # @rbs (String | Symbol name) -> Array[Integer]?
53
- def self.[]: (String | Symbol name) -> Array[Integer]?
54
-
55
- # Get a list of all color names
56
- #
57
- # @author {https://aaronmallen.me Aaron Allen}
58
- # @since 0.3.1
59
- #
60
- # @api private
61
- #
62
- # @return [Array<Symbol>] the color names
63
- def self.names: () -> untyped
64
- end
65
- end