ruby-lsp 0.0.1 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +7 -16
  3. data/.github/pull_request_template.md +15 -0
  4. data/.github/workflows/ci.yml +31 -0
  5. data/.github/workflows/publish_docs.yml +32 -0
  6. data/.gitignore +9 -12
  7. data/.rubocop.yml +20 -2
  8. data/.vscode/settings.json +5 -0
  9. data/CHANGELOG.md +29 -0
  10. data/Gemfile +8 -4
  11. data/Gemfile.lock +76 -14
  12. data/README.md +69 -2
  13. data/Rakefile +5 -0
  14. data/VERSION +1 -1
  15. data/bin/tapioca +29 -0
  16. data/bin/test +7 -1
  17. data/dev.yml +7 -7
  18. data/exe/ruby-lsp +19 -2
  19. data/lib/internal.rb +7 -0
  20. data/lib/ruby-lsp.rb +4 -1
  21. data/lib/ruby_lsp/cli.rb +88 -0
  22. data/lib/ruby_lsp/document.rb +113 -0
  23. data/lib/ruby_lsp/handler.rb +236 -0
  24. data/lib/ruby_lsp/requests/base_request.rb +33 -0
  25. data/lib/ruby_lsp/requests/code_actions.rb +37 -0
  26. data/lib/ruby_lsp/requests/diagnostics.rb +37 -0
  27. data/lib/ruby_lsp/requests/document_highlight.rb +96 -0
  28. data/lib/ruby_lsp/requests/document_symbol.rb +216 -0
  29. data/lib/ruby_lsp/requests/folding_ranges.rb +213 -0
  30. data/lib/ruby_lsp/requests/formatting.rb +52 -0
  31. data/lib/ruby_lsp/requests/rubocop_request.rb +50 -0
  32. data/lib/ruby_lsp/requests/selection_ranges.rb +103 -0
  33. data/lib/ruby_lsp/requests/semantic_highlighting.rb +112 -0
  34. data/lib/ruby_lsp/requests/support/rubocop_diagnostic.rb +88 -0
  35. data/lib/ruby_lsp/requests/support/selection_range.rb +17 -0
  36. data/lib/ruby_lsp/requests/support/semantic_token_encoder.rb +60 -0
  37. data/lib/ruby_lsp/requests/support/syntax_error_diagnostic.rb +27 -0
  38. data/lib/ruby_lsp/requests.rb +24 -0
  39. data/lib/ruby_lsp/store.rb +59 -0
  40. data/rakelib/check_docs.rake +56 -0
  41. data/ruby-lsp.gemspec +5 -1
  42. data/{shipit.yml → shipit.production.yml} +0 -0
  43. data/sorbet/config +4 -0
  44. data/sorbet/rbi/.rubocop.yml +8 -0
  45. data/sorbet/rbi/gems/ansi@1.5.0.rbi +338 -0
  46. data/sorbet/rbi/gems/ast@2.4.2.rbi +522 -0
  47. data/sorbet/rbi/gems/builder@3.2.4.rbi +418 -0
  48. data/sorbet/rbi/gems/coderay@1.1.3.rbi +8 -0
  49. data/sorbet/rbi/gems/debug@1.5.0.rbi +1273 -0
  50. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +867 -0
  51. data/sorbet/rbi/gems/io-console@0.5.11.rbi +8 -0
  52. data/sorbet/rbi/gems/irb@1.4.1.rbi +376 -0
  53. data/sorbet/rbi/gems/language_server-protocol@3.16.0.3.rbi +7325 -0
  54. data/sorbet/rbi/gems/method_source@1.0.0.rbi +8 -0
  55. data/sorbet/rbi/gems/minitest-reporters@1.5.0.rbi +612 -0
  56. data/sorbet/rbi/gems/minitest@5.15.0.rbi +994 -0
  57. data/sorbet/rbi/gems/parallel@1.22.1.rbi +163 -0
  58. data/sorbet/rbi/gems/parser@3.1.2.0.rbi +3968 -0
  59. data/sorbet/rbi/gems/prettier_print@0.1.0.rbi +734 -0
  60. data/sorbet/rbi/gems/pry@0.14.1.rbi +8 -0
  61. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +227 -0
  62. data/sorbet/rbi/gems/rake@13.0.6.rbi +1853 -0
  63. data/sorbet/rbi/gems/rbi@0.0.14.rbi +2337 -0
  64. data/sorbet/rbi/gems/regexp_parser@2.5.0.rbi +1854 -0
  65. data/sorbet/rbi/gems/reline@0.3.1.rbi +1274 -0
  66. data/sorbet/rbi/gems/rexml@3.2.5.rbi +3852 -0
  67. data/sorbet/rbi/gems/rubocop-ast@1.18.0.rbi +4180 -0
  68. data/sorbet/rbi/gems/rubocop-minitest@0.20.0.rbi +1369 -0
  69. data/sorbet/rbi/gems/rubocop-rake@0.6.0.rbi +246 -0
  70. data/sorbet/rbi/gems/rubocop-shopify@2.6.0.rbi +8 -0
  71. data/sorbet/rbi/gems/rubocop-sorbet@0.6.8.rbi +652 -0
  72. data/sorbet/rbi/gems/rubocop@1.30.0.rbi +36729 -0
  73. data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +732 -0
  74. data/sorbet/rbi/gems/spoom@1.1.11.rbi +1600 -0
  75. data/sorbet/rbi/gems/syntax_tree@2.7.1.rbi +6777 -0
  76. data/sorbet/rbi/gems/tapioca@0.8.1.rbi +1972 -0
  77. data/sorbet/rbi/gems/thor@1.2.1.rbi +2921 -0
  78. data/sorbet/rbi/gems/unicode-display_width@2.1.0.rbi +27 -0
  79. data/sorbet/rbi/gems/unparser@0.6.5.rbi +2789 -0
  80. data/sorbet/rbi/gems/webrick@1.7.0.rbi +1779 -0
  81. data/sorbet/rbi/gems/yard-sorbet@0.6.1.rbi +289 -0
  82. data/sorbet/rbi/gems/yard@0.9.27.rbi +13048 -0
  83. data/sorbet/rbi/shims/fiddle.rbi +4 -0
  84. data/sorbet/rbi/shims/hash.rbi +6 -0
  85. data/sorbet/rbi/shims/rdoc.rbi +4 -0
  86. data/sorbet/tapioca/config.yml +13 -0
  87. data/sorbet/tapioca/require.rb +7 -0
  88. metadata +119 -9
  89. data/.vscode/launch.json +0 -19
  90. data/bin/package_extension +0 -5
  91. data/bin/style +0 -10
  92. data/lib/ruby/lsp/cli.rb +0 -37
  93. data/lib/ruby/lsp.rb +0 -3
@@ -0,0 +1,338 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `ansi` gem.
5
+ # Please instead update this file by running `bin/tapioca gem ansi`.
6
+
7
+ # ANSI namespace module contains all the ANSI related classes.
8
+ module ANSI
9
+ extend ::ANSI::Constants
10
+ extend ::ANSI::Code
11
+ end
12
+
13
+ # Table of codes used throughout the system.
14
+ #
15
+ # @see http://en.wikipedia.org/wiki/ANSI_escape_code
16
+ ANSI::CHART = T.let(T.unsafe(nil), Hash)
17
+
18
+ # ANSI Codes
19
+ #
20
+ # Ansi::Code module makes it very easy to use ANSI codes.
21
+ # These are especially nice for beautifying shell output.
22
+ #
23
+ # Ansi::Code.red + "Hello" + Ansi::Code.blue + "World"
24
+ # => "\e[31mHello\e[34mWorld"
25
+ #
26
+ # Ansi::Code.red{ "Hello" } + Ansi::Code.blue{ "World" }
27
+ # => "\e[31mHello\e[0m\e[34mWorld\e[0m"
28
+ #
29
+ # IMPORTANT! Do not mixin Ansi::Code, instead use {ANSI::Mixin}.
30
+ #
31
+ # See {ANSI::CHART} for list of all supported codes.
32
+ module ANSI::Code
33
+ include ::ANSI::Constants
34
+ extend ::ANSI::Constants
35
+ extend ::ANSI::Code
36
+
37
+ # Return ANSI code given a list of symbolic names.
38
+ def [](*codes); end
39
+
40
+ # Apply ANSI codes to a first argument or block value.
41
+ #
42
+ # @example
43
+ # ansi("Valentine", :red, :on_white)
44
+ # @example
45
+ # ansi(:red, :on_white){ "Valentine" }
46
+ # @return [String] String wrapped ANSI code.
47
+ def ansi(*codes); end
48
+
49
+ # Move cursor left a specified number of spaces.
50
+ def back(spaces = T.unsafe(nil)); end
51
+
52
+ def black_on_black(string = T.unsafe(nil)); end
53
+ def black_on_blue(string = T.unsafe(nil)); end
54
+ def black_on_cyan(string = T.unsafe(nil)); end
55
+ def black_on_green(string = T.unsafe(nil)); end
56
+ def black_on_magenta(string = T.unsafe(nil)); end
57
+ def black_on_red(string = T.unsafe(nil)); end
58
+ def black_on_white(string = T.unsafe(nil)); end
59
+ def black_on_yellow(string = T.unsafe(nil)); end
60
+ def blue_on_black(string = T.unsafe(nil)); end
61
+ def blue_on_blue(string = T.unsafe(nil)); end
62
+ def blue_on_cyan(string = T.unsafe(nil)); end
63
+ def blue_on_green(string = T.unsafe(nil)); end
64
+ def blue_on_magenta(string = T.unsafe(nil)); end
65
+ def blue_on_red(string = T.unsafe(nil)); end
66
+ def blue_on_white(string = T.unsafe(nil)); end
67
+ def blue_on_yellow(string = T.unsafe(nil)); end
68
+
69
+ # Look-up code from chart, or if Integer simply pass through.
70
+ # Also resolves :random and :on_random.
71
+ #
72
+ # @param codes [Array<Symbol,Integer]
73
+ # Symbols or integers to convert to ANSI code.] odes [Array<Symbol,Integer]
74
+ # Symbols or integers to convert to ANSI code.
75
+ # @return [String] ANSI code
76
+ def code(*codes); end
77
+
78
+ # Apply ANSI codes to a first argument or block value.
79
+ # Alternate term for #ansi.
80
+ #
81
+ # @deprecated May change in future definition.
82
+ # @example
83
+ # ansi("Valentine", :red, :on_white)
84
+ # @example
85
+ # ansi(:red, :on_white){ "Valentine" }
86
+ # @return [String] String wrapped ANSI code.
87
+ def color(*codes); end
88
+
89
+ def cyan_on_black(string = T.unsafe(nil)); end
90
+ def cyan_on_blue(string = T.unsafe(nil)); end
91
+ def cyan_on_cyan(string = T.unsafe(nil)); end
92
+ def cyan_on_green(string = T.unsafe(nil)); end
93
+ def cyan_on_magenta(string = T.unsafe(nil)); end
94
+ def cyan_on_red(string = T.unsafe(nil)); end
95
+ def cyan_on_white(string = T.unsafe(nil)); end
96
+ def cyan_on_yellow(string = T.unsafe(nil)); end
97
+
98
+ # Like +move+ but returns to original position after
99
+ # yielding the block.
100
+ def display(line, column = T.unsafe(nil)); end
101
+
102
+ # Move cursor down a specified number of spaces.
103
+ def down(spaces = T.unsafe(nil)); end
104
+
105
+ # Move cursor right a specified number of spaces.
106
+ def forward(spaces = T.unsafe(nil)); end
107
+
108
+ def green_on_black(string = T.unsafe(nil)); end
109
+ def green_on_blue(string = T.unsafe(nil)); end
110
+ def green_on_cyan(string = T.unsafe(nil)); end
111
+ def green_on_green(string = T.unsafe(nil)); end
112
+ def green_on_magenta(string = T.unsafe(nil)); end
113
+ def green_on_red(string = T.unsafe(nil)); end
114
+ def green_on_white(string = T.unsafe(nil)); end
115
+ def green_on_yellow(string = T.unsafe(nil)); end
116
+
117
+ # Creates an xterm-256 color code from a CSS-style color string.
118
+ #
119
+ # @param string [String] Hex string in CSS style, .e.g. `#5FA0C2`.
120
+ # @param background [Boolean] Use `true` for background color, otherwise foreground color.
121
+ def hex_code(string, background = T.unsafe(nil)); end
122
+
123
+ # Move cursor left a specified number of spaces.
124
+ def left(spaces = T.unsafe(nil)); end
125
+
126
+ def magenta_on_black(string = T.unsafe(nil)); end
127
+ def magenta_on_blue(string = T.unsafe(nil)); end
128
+ def magenta_on_cyan(string = T.unsafe(nil)); end
129
+ def magenta_on_green(string = T.unsafe(nil)); end
130
+ def magenta_on_magenta(string = T.unsafe(nil)); end
131
+ def magenta_on_red(string = T.unsafe(nil)); end
132
+ def magenta_on_white(string = T.unsafe(nil)); end
133
+ def magenta_on_yellow(string = T.unsafe(nil)); end
134
+
135
+ # Use method missing to dispatch ANSI code methods.
136
+ def method_missing(code, *args, &blk); end
137
+
138
+ # Move cursor to line and column.
139
+ def move(line, column = T.unsafe(nil)); end
140
+
141
+ # Provides a random primary ANSI color.
142
+ #
143
+ # @param background [Boolean] Use `true` for background color, otherwise foreground color.
144
+ # @return [Integer] ANSI color number
145
+ def random(background = T.unsafe(nil)); end
146
+
147
+ def red_on_black(string = T.unsafe(nil)); end
148
+ def red_on_blue(string = T.unsafe(nil)); end
149
+ def red_on_cyan(string = T.unsafe(nil)); end
150
+ def red_on_green(string = T.unsafe(nil)); end
151
+ def red_on_magenta(string = T.unsafe(nil)); end
152
+ def red_on_red(string = T.unsafe(nil)); end
153
+ def red_on_white(string = T.unsafe(nil)); end
154
+ def red_on_yellow(string = T.unsafe(nil)); end
155
+
156
+ # Creates an XTerm 256 color escape code from RGB value(s). The
157
+ # RGB value can be three arguments red, green and blue respectively
158
+ # each from 0 to 255, or the RGB value can be a single CSS-style
159
+ # hex string.
160
+ #
161
+ # @param background [Boolean] Use `true` for background color, otherwise foreground color.
162
+ def rgb(*args); end
163
+
164
+ # Given red, green and blue values between 0 and 255, this method
165
+ # returns the closest XTerm 256 color value.
166
+ #
167
+ # @raise [ArgumentError]
168
+ def rgb_256(r, g, b); end
169
+
170
+ # Creates an xterm-256 color from rgb value.
171
+ #
172
+ # @param background [Boolean] Use `true` for background color, otherwise foreground color.
173
+ def rgb_code(red, green, blue, background = T.unsafe(nil)); end
174
+
175
+ # Move cursor right a specified number of spaces.
176
+ def right(spaces = T.unsafe(nil)); end
177
+
178
+ # Apply ANSI codes to a first argument or block value.
179
+ # Alias for #ansi method.
180
+ #
181
+ # @deprecated Here for backward compatibility.
182
+ # @example
183
+ # ansi("Valentine", :red, :on_white)
184
+ # @example
185
+ # ansi(:red, :on_white){ "Valentine" }
186
+ # @return [String] String wrapped ANSI code.
187
+ def style(*codes); end
188
+
189
+ # Remove ANSI codes from string or block value.
190
+ #
191
+ # @param string [String] String from which to remove ANSI codes.
192
+ # @return [String] String wrapped ANSI code.
193
+ def unansi(string = T.unsafe(nil)); end
194
+
195
+ # Remove ANSI codes from string or block value.
196
+ # Alias for unansi.
197
+ #
198
+ # @deprecated May change in future definition.
199
+ # @param string [String] String from which to remove ANSI codes.
200
+ # @return [String] String wrapped ANSI code.
201
+ def uncolor(string = T.unsafe(nil)); end
202
+
203
+ # Remove ANSI codes from string or block value.
204
+ # Alias for #unansi method.
205
+ #
206
+ # @deprecated Here for backwards compatibility.
207
+ # @param string [String] String from which to remove ANSI codes.
208
+ # @return [String] String wrapped ANSI code.
209
+ def unstyle(string = T.unsafe(nil)); end
210
+
211
+ # Move cursor up a specified number of spaces.
212
+ def up(spaces = T.unsafe(nil)); end
213
+
214
+ def white_on_black(string = T.unsafe(nil)); end
215
+ def white_on_blue(string = T.unsafe(nil)); end
216
+ def white_on_cyan(string = T.unsafe(nil)); end
217
+ def white_on_green(string = T.unsafe(nil)); end
218
+ def white_on_magenta(string = T.unsafe(nil)); end
219
+ def white_on_red(string = T.unsafe(nil)); end
220
+ def white_on_white(string = T.unsafe(nil)); end
221
+ def white_on_yellow(string = T.unsafe(nil)); end
222
+ def yellow_on_black(string = T.unsafe(nil)); end
223
+ def yellow_on_blue(string = T.unsafe(nil)); end
224
+ def yellow_on_cyan(string = T.unsafe(nil)); end
225
+ def yellow_on_green(string = T.unsafe(nil)); end
226
+ def yellow_on_magenta(string = T.unsafe(nil)); end
227
+ def yellow_on_red(string = T.unsafe(nil)); end
228
+ def yellow_on_white(string = T.unsafe(nil)); end
229
+ def yellow_on_yellow(string = T.unsafe(nil)); end
230
+
231
+ class << self
232
+ # List of primary colors.
233
+ def colors; end
234
+
235
+ # List of primary styles.
236
+ def styles; end
237
+ end
238
+ end
239
+
240
+ # ANSI clear code.
241
+ ANSI::Code::ENDCODE = T.let(T.unsafe(nil), String)
242
+
243
+ # Regexp for matching most ANSI codes.
244
+ ANSI::Code::PATTERN = T.let(T.unsafe(nil), Regexp)
245
+
246
+ # Converts {CHART} and {SPECIAL_CHART} entries into constants.
247
+ # So for example, the CHART entry for :red becomes:
248
+ #
249
+ # ANSI::Constants::RED #=> "\e[31m"
250
+ #
251
+ # The ANSI Constants are include into ANSI::Code and can be included
252
+ # any where will they would be of use.
253
+ module ANSI::Constants; end
254
+
255
+ ANSI::Constants::BLACK = T.let(T.unsafe(nil), String)
256
+ ANSI::Constants::BLINK = T.let(T.unsafe(nil), String)
257
+ ANSI::Constants::BLINK_OFF = T.let(T.unsafe(nil), String)
258
+ ANSI::Constants::BLUE = T.let(T.unsafe(nil), String)
259
+ ANSI::Constants::BOLD = T.let(T.unsafe(nil), String)
260
+ ANSI::Constants::BOLD_OFF = T.let(T.unsafe(nil), String)
261
+ ANSI::Constants::BRIGHT = T.let(T.unsafe(nil), String)
262
+ ANSI::Constants::BRIGHT_OFF = T.let(T.unsafe(nil), String)
263
+ ANSI::Constants::CLEAN = T.let(T.unsafe(nil), String)
264
+ ANSI::Constants::CLEAR = T.let(T.unsafe(nil), String)
265
+ ANSI::Constants::CLEAR_EOL = T.let(T.unsafe(nil), String)
266
+ ANSI::Constants::CLEAR_LEFT = T.let(T.unsafe(nil), String)
267
+ ANSI::Constants::CLEAR_LINE = T.let(T.unsafe(nil), String)
268
+ ANSI::Constants::CLEAR_RIGHT = T.let(T.unsafe(nil), String)
269
+ ANSI::Constants::CLEAR_SCREEN = T.let(T.unsafe(nil), String)
270
+ ANSI::Constants::CLR = T.let(T.unsafe(nil), String)
271
+ ANSI::Constants::CLS = T.let(T.unsafe(nil), String)
272
+ ANSI::Constants::CONCEAL = T.let(T.unsafe(nil), String)
273
+ ANSI::Constants::CONCEALED = T.let(T.unsafe(nil), String)
274
+ ANSI::Constants::CONCEAL_OFF = T.let(T.unsafe(nil), String)
275
+ ANSI::Constants::CROSSED_OFF = T.let(T.unsafe(nil), String)
276
+ ANSI::Constants::CROSSED_OUT_OFF = T.let(T.unsafe(nil), String)
277
+ ANSI::Constants::CURSOR_HIDE = T.let(T.unsafe(nil), String)
278
+ ANSI::Constants::CURSOR_SHOW = T.let(T.unsafe(nil), String)
279
+ ANSI::Constants::CYAN = T.let(T.unsafe(nil), String)
280
+ ANSI::Constants::DARK = T.let(T.unsafe(nil), String)
281
+ ANSI::Constants::DEFAULT_FONT = T.let(T.unsafe(nil), String)
282
+ ANSI::Constants::DOUBLE_UNDERLINE = T.let(T.unsafe(nil), String)
283
+ ANSI::Constants::ENCIRCLE = T.let(T.unsafe(nil), String)
284
+ ANSI::Constants::ENCIRCLE_OFF = T.let(T.unsafe(nil), String)
285
+ ANSI::Constants::FAINT = T.let(T.unsafe(nil), String)
286
+ ANSI::Constants::FONT0 = T.let(T.unsafe(nil), String)
287
+ ANSI::Constants::FONT1 = T.let(T.unsafe(nil), String)
288
+ ANSI::Constants::FONT2 = T.let(T.unsafe(nil), String)
289
+ ANSI::Constants::FONT3 = T.let(T.unsafe(nil), String)
290
+ ANSI::Constants::FONT4 = T.let(T.unsafe(nil), String)
291
+ ANSI::Constants::FONT5 = T.let(T.unsafe(nil), String)
292
+ ANSI::Constants::FONT6 = T.let(T.unsafe(nil), String)
293
+ ANSI::Constants::FONT7 = T.let(T.unsafe(nil), String)
294
+ ANSI::Constants::FONT8 = T.let(T.unsafe(nil), String)
295
+ ANSI::Constants::FONT9 = T.let(T.unsafe(nil), String)
296
+ ANSI::Constants::FONT_DEFAULT = T.let(T.unsafe(nil), String)
297
+ ANSI::Constants::FRAKTUR = T.let(T.unsafe(nil), String)
298
+ ANSI::Constants::FRAKTUR_OFF = T.let(T.unsafe(nil), String)
299
+ ANSI::Constants::FRAME = T.let(T.unsafe(nil), String)
300
+ ANSI::Constants::FRAME_OFF = T.let(T.unsafe(nil), String)
301
+ ANSI::Constants::GREEN = T.let(T.unsafe(nil), String)
302
+ ANSI::Constants::HIDE = T.let(T.unsafe(nil), String)
303
+ ANSI::Constants::INVERSE = T.let(T.unsafe(nil), String)
304
+ ANSI::Constants::INVERSE_OFF = T.let(T.unsafe(nil), String)
305
+ ANSI::Constants::INVERT = T.let(T.unsafe(nil), String)
306
+ ANSI::Constants::ITALIC = T.let(T.unsafe(nil), String)
307
+ ANSI::Constants::ITALIC_OFF = T.let(T.unsafe(nil), String)
308
+ ANSI::Constants::MAGENTA = T.let(T.unsafe(nil), String)
309
+ ANSI::Constants::NEGATIVE = T.let(T.unsafe(nil), String)
310
+ ANSI::Constants::ON_BLACK = T.let(T.unsafe(nil), String)
311
+ ANSI::Constants::ON_BLUE = T.let(T.unsafe(nil), String)
312
+ ANSI::Constants::ON_CYAN = T.let(T.unsafe(nil), String)
313
+ ANSI::Constants::ON_GREEN = T.let(T.unsafe(nil), String)
314
+ ANSI::Constants::ON_MAGENTA = T.let(T.unsafe(nil), String)
315
+ ANSI::Constants::ON_RED = T.let(T.unsafe(nil), String)
316
+ ANSI::Constants::ON_WHITE = T.let(T.unsafe(nil), String)
317
+ ANSI::Constants::ON_YELLOW = T.let(T.unsafe(nil), String)
318
+ ANSI::Constants::OVERLINE = T.let(T.unsafe(nil), String)
319
+ ANSI::Constants::OVERLINE_OFF = T.let(T.unsafe(nil), String)
320
+ ANSI::Constants::POSITIVE = T.let(T.unsafe(nil), String)
321
+ ANSI::Constants::RAPID = T.let(T.unsafe(nil), String)
322
+ ANSI::Constants::RAPID_BLINK = T.let(T.unsafe(nil), String)
323
+ ANSI::Constants::RED = T.let(T.unsafe(nil), String)
324
+ ANSI::Constants::RESET = T.let(T.unsafe(nil), String)
325
+ ANSI::Constants::RESTORE = T.let(T.unsafe(nil), String)
326
+ ANSI::Constants::REVEAL = T.let(T.unsafe(nil), String)
327
+ ANSI::Constants::REVERSE = T.let(T.unsafe(nil), String)
328
+ ANSI::Constants::SAVE = T.let(T.unsafe(nil), String)
329
+ ANSI::Constants::SHOW = T.let(T.unsafe(nil), String)
330
+ ANSI::Constants::SLOW_BLINK = T.let(T.unsafe(nil), String)
331
+ ANSI::Constants::STRIKE = T.let(T.unsafe(nil), String)
332
+ ANSI::Constants::SWAP = T.let(T.unsafe(nil), String)
333
+ ANSI::Constants::UNDERLINE = T.let(T.unsafe(nil), String)
334
+ ANSI::Constants::UNDERLINE_OFF = T.let(T.unsafe(nil), String)
335
+ ANSI::Constants::UNDERSCORE = T.let(T.unsafe(nil), String)
336
+ ANSI::Constants::WHITE = T.let(T.unsafe(nil), String)
337
+ ANSI::Constants::YELLOW = T.let(T.unsafe(nil), String)
338
+ ANSI::SPECIAL_CHART = T.let(T.unsafe(nil), Hash)