herb 0.7.4-aarch64-linux-gnu → 0.8.0-aarch64-linux-gnu

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +8 -5
  3. data/config.yml +40 -20
  4. data/ext/herb/error_helpers.c +57 -3
  5. data/ext/herb/error_helpers.h +1 -1
  6. data/ext/herb/extconf.rb +1 -0
  7. data/ext/herb/extension.c +10 -24
  8. data/ext/herb/extension_helpers.c +12 -18
  9. data/ext/herb/extension_helpers.h +4 -4
  10. data/ext/herb/nodes.c +72 -37
  11. data/herb.gemspec +0 -2
  12. data/lib/herb/3.0/herb.so +0 -0
  13. data/lib/herb/3.1/herb.so +0 -0
  14. data/lib/herb/3.2/herb.so +0 -0
  15. data/lib/herb/3.3/herb.so +0 -0
  16. data/lib/herb/3.4/herb.so +0 -0
  17. data/lib/herb/ast/helpers.rb +11 -0
  18. data/lib/herb/ast/node.rb +15 -6
  19. data/lib/herb/ast/nodes.rb +609 -392
  20. data/lib/herb/cli.rb +31 -0
  21. data/lib/herb/colors.rb +82 -0
  22. data/lib/herb/engine/compiler.rb +140 -14
  23. data/lib/herb/engine/debug_visitor.rb +1 -5
  24. data/lib/herb/engine/parser_error_overlay.rb +1 -1
  25. data/lib/herb/engine.rb +18 -20
  26. data/lib/herb/errors.rb +166 -56
  27. data/lib/herb/location.rb +2 -2
  28. data/lib/herb/project.rb +86 -21
  29. data/lib/herb/token.rb +14 -2
  30. data/lib/herb/version.rb +1 -1
  31. data/lib/herb.rb +1 -0
  32. data/sig/herb/ast/helpers.rbs +3 -0
  33. data/sig/herb/ast/node.rbs +12 -5
  34. data/sig/herb/ast/nodes.rbs +124 -62
  35. data/sig/herb/colors.rbs +35 -0
  36. data/sig/herb/engine/compiler.rbs +23 -1
  37. data/sig/herb/errors.rbs +74 -20
  38. data/sig/herb/token.rbs +8 -0
  39. data/sig/herb_c_extension.rbs +1 -1
  40. data/sig/serialized_ast_errors.rbs +8 -0
  41. data/src/analyze.c +461 -249
  42. data/src/analyze_helpers.c +5 -0
  43. data/src/analyze_missing_end.c +147 -0
  44. data/src/analyze_transform.c +196 -0
  45. data/src/analyzed_ruby.c +23 -2
  46. data/src/ast_node.c +14 -17
  47. data/src/ast_nodes.c +179 -181
  48. data/src/ast_pretty_print.c +232 -232
  49. data/src/element_source.c +7 -6
  50. data/src/errors.c +272 -152
  51. data/src/extract.c +92 -34
  52. data/src/herb.c +37 -49
  53. data/src/html_util.c +34 -96
  54. data/src/include/analyze.h +10 -2
  55. data/src/include/analyze_helpers.h +3 -0
  56. data/src/include/analyzed_ruby.h +4 -2
  57. data/src/include/ast_node.h +4 -4
  58. data/src/include/ast_nodes.h +68 -67
  59. data/src/include/ast_pretty_print.h +2 -2
  60. data/src/include/element_source.h +3 -1
  61. data/src/include/errors.h +42 -26
  62. data/src/include/extract.h +4 -4
  63. data/src/include/herb.h +6 -7
  64. data/src/include/html_util.h +4 -5
  65. data/src/include/lexer.h +1 -3
  66. data/src/include/lexer_peek_helpers.h +21 -19
  67. data/src/include/lexer_struct.h +12 -10
  68. data/src/include/location.h +10 -13
  69. data/src/include/macros.h +4 -0
  70. data/src/include/parser.h +12 -6
  71. data/src/include/parser_helpers.h +26 -16
  72. data/src/include/position.h +3 -14
  73. data/src/include/pretty_print.h +38 -28
  74. data/src/include/prism_helpers.h +1 -1
  75. data/src/include/range.h +4 -13
  76. data/src/include/token.h +5 -11
  77. data/src/include/token_struct.h +2 -2
  78. data/src/include/utf8.h +3 -2
  79. data/src/include/util/hb_arena.h +31 -0
  80. data/src/include/util/hb_arena_debug.h +8 -0
  81. data/src/include/util/hb_array.h +33 -0
  82. data/src/include/util/hb_buffer.h +34 -0
  83. data/src/include/util/hb_string.h +29 -0
  84. data/src/include/util/hb_system.h +9 -0
  85. data/src/include/util.h +3 -14
  86. data/src/include/version.h +1 -1
  87. data/src/include/visitor.h +1 -1
  88. data/src/io.c +7 -4
  89. data/src/lexer.c +62 -88
  90. data/src/lexer_peek_helpers.c +42 -38
  91. data/src/location.c +9 -37
  92. data/src/main.c +19 -23
  93. data/src/parser.c +373 -313
  94. data/src/parser_helpers.c +60 -54
  95. data/src/parser_match_tags.c +316 -0
  96. data/src/pretty_print.c +88 -117
  97. data/src/prism_helpers.c +7 -7
  98. data/src/range.c +2 -35
  99. data/src/token.c +36 -87
  100. data/src/utf8.c +4 -4
  101. data/src/util/hb_arena.c +179 -0
  102. data/src/util/hb_arena_debug.c +237 -0
  103. data/src/{array.c → util/hb_array.c} +26 -27
  104. data/src/util/hb_buffer.c +203 -0
  105. data/src/util/hb_string.c +85 -0
  106. data/src/util/hb_system.c +30 -0
  107. data/src/util.c +29 -99
  108. data/src/visitor.c +54 -54
  109. data/templates/ext/herb/error_helpers.c.erb +3 -3
  110. data/templates/ext/herb/error_helpers.h.erb +1 -1
  111. data/templates/ext/herb/nodes.c.erb +11 -6
  112. data/templates/java/error_helpers.c.erb +75 -0
  113. data/templates/java/error_helpers.h.erb +20 -0
  114. data/templates/java/nodes.c.erb +97 -0
  115. data/templates/java/nodes.h.erb +23 -0
  116. data/templates/java/org/herb/ast/Errors.java.erb +121 -0
  117. data/templates/java/org/herb/ast/NodeVisitor.java.erb +14 -0
  118. data/templates/java/org/herb/ast/Nodes.java.erb +220 -0
  119. data/templates/java/org/herb/ast/Visitor.java.erb +56 -0
  120. data/templates/javascript/packages/core/src/visitor.ts.erb +29 -1
  121. data/templates/javascript/packages/node/extension/error_helpers.cpp.erb +8 -8
  122. data/templates/javascript/packages/node/extension/error_helpers.h.erb +1 -1
  123. data/templates/javascript/packages/node/extension/nodes.cpp.erb +9 -9
  124. data/templates/javascript/packages/node/extension/nodes.h.erb +1 -1
  125. data/templates/lib/herb/ast/nodes.rb.erb +28 -16
  126. data/templates/lib/herb/errors.rb.erb +17 -12
  127. data/templates/rust/src/ast/nodes.rs.erb +220 -0
  128. data/templates/rust/src/errors.rs.erb +216 -0
  129. data/templates/rust/src/nodes.rs.erb +374 -0
  130. data/templates/src/analyze_missing_end.c.erb +36 -0
  131. data/templates/src/analyze_transform.c.erb +24 -0
  132. data/templates/src/ast_nodes.c.erb +14 -16
  133. data/templates/src/ast_pretty_print.c.erb +36 -36
  134. data/templates/src/errors.c.erb +36 -38
  135. data/templates/src/include/ast_nodes.h.erb +11 -10
  136. data/templates/src/include/ast_pretty_print.h.erb +2 -2
  137. data/templates/src/include/errors.h.erb +9 -9
  138. data/templates/src/parser_match_tags.c.erb +38 -0
  139. data/templates/src/visitor.c.erb +4 -4
  140. data/templates/template.rb +22 -3
  141. data/templates/wasm/error_helpers.cpp.erb +9 -9
  142. data/templates/wasm/error_helpers.h.erb +1 -1
  143. data/templates/wasm/nodes.cpp.erb +9 -9
  144. data/templates/wasm/nodes.h.erb +1 -1
  145. data/vendor/prism/Rakefile +4 -1
  146. data/vendor/prism/config.yml +2 -1
  147. data/vendor/prism/include/prism/ast.h +31 -1
  148. data/vendor/prism/include/prism/diagnostic.h +1 -0
  149. data/vendor/prism/include/prism/version.h +3 -3
  150. data/vendor/prism/src/diagnostic.c +3 -1
  151. data/vendor/prism/src/prism.c +130 -71
  152. data/vendor/prism/src/util/pm_string.c +6 -8
  153. data/vendor/prism/templates/include/prism/ast.h.erb +2 -0
  154. data/vendor/prism/templates/java/org/prism/Loader.java.erb +2 -2
  155. data/vendor/prism/templates/javascript/src/deserialize.js.erb +2 -2
  156. data/vendor/prism/templates/lib/prism/serialize.rb.erb +2 -2
  157. data/vendor/prism/templates/sig/prism.rbs.erb +4 -0
  158. data/vendor/prism/templates/src/diagnostic.c.erb +1 -0
  159. metadata +34 -21
  160. data/lib/herb/libherb/array.rb +0 -51
  161. data/lib/herb/libherb/ast_node.rb +0 -50
  162. data/lib/herb/libherb/buffer.rb +0 -56
  163. data/lib/herb/libherb/extract_result.rb +0 -20
  164. data/lib/herb/libherb/lex_result.rb +0 -32
  165. data/lib/herb/libherb/libherb.rb +0 -52
  166. data/lib/herb/libherb/parse_result.rb +0 -20
  167. data/lib/herb/libherb/token.rb +0 -46
  168. data/lib/herb/libherb.rb +0 -35
  169. data/src/buffer.c +0 -232
  170. data/src/include/array.h +0 -33
  171. data/src/include/buffer.h +0 -39
  172. data/src/include/json.h +0 -28
  173. data/src/include/memory.h +0 -12
  174. data/src/json.c +0 -205
  175. data/src/memory.c +0 -53
  176. data/src/position.c +0 -33
@@ -3,6 +3,8 @@
3
3
  module Herb
4
4
  module AST
5
5
  class DocumentNode < Node
6
+ include Colors
7
+
6
8
  attr_reader children: Array[Herb::AST::Node]
7
9
 
8
10
  # : (String, Location, Array[Herb::Errors::Error], Array[Herb::AST::Node]) -> void
@@ -23,11 +25,13 @@ module Herb
23
25
  # : () -> String
24
26
  def inspect: () -> String
25
27
 
26
- # : (?Integer) -> String
27
- def tree_inspect: (?Integer) -> String
28
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
29
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
28
30
  end
29
31
 
30
32
  class LiteralNode < Node
33
+ include Colors
34
+
31
35
  attr_reader content: String
32
36
 
33
37
  # : (String, Location, Array[Herb::Errors::Error], String) -> void
@@ -48,11 +52,13 @@ module Herb
48
52
  # : () -> String
49
53
  def inspect: () -> String
50
54
 
51
- # : (?Integer) -> String
52
- def tree_inspect: (?Integer) -> String
55
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
56
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
53
57
  end
54
58
 
55
59
  class HTMLOpenTagNode < Node
60
+ include Colors
61
+
56
62
  attr_reader tag_opening: Herb::Token
57
63
 
58
64
  attr_reader tag_name: Herb::Token
@@ -81,11 +87,13 @@ module Herb
81
87
  # : () -> String
82
88
  def inspect: () -> String
83
89
 
84
- # : (?Integer) -> String
85
- def tree_inspect: (?Integer) -> String
90
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
91
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
86
92
  end
87
93
 
88
94
  class HTMLCloseTagNode < Node
95
+ include Colors
96
+
89
97
  attr_reader tag_opening: Herb::Token
90
98
 
91
99
  attr_reader tag_name: Herb::Token
@@ -112,11 +120,13 @@ module Herb
112
120
  # : () -> String
113
121
  def inspect: () -> String
114
122
 
115
- # : (?Integer) -> String
116
- def tree_inspect: (?Integer) -> String
123
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
124
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
117
125
  end
118
126
 
119
127
  class HTMLElementNode < Node
128
+ include Colors
129
+
120
130
  attr_reader open_tag: Herb::AST::HTMLOpenTagNode
121
131
 
122
132
  attr_reader tag_name: Herb::Token
@@ -147,11 +157,13 @@ module Herb
147
157
  # : () -> String
148
158
  def inspect: () -> String
149
159
 
150
- # : (?Integer) -> String
151
- def tree_inspect: (?Integer) -> String
160
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
161
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
152
162
  end
153
163
 
154
164
  class HTMLAttributeValueNode < Node
165
+ include Colors
166
+
155
167
  attr_reader open_quote: Herb::Token
156
168
 
157
169
  attr_reader children: Array[Herb::AST::Node]
@@ -178,11 +190,13 @@ module Herb
178
190
  # : () -> String
179
191
  def inspect: () -> String
180
192
 
181
- # : (?Integer) -> String
182
- def tree_inspect: (?Integer) -> String
193
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
194
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
183
195
  end
184
196
 
185
197
  class HTMLAttributeNameNode < Node
198
+ include Colors
199
+
186
200
  attr_reader children: Array[Herb::AST::Node]
187
201
 
188
202
  # : (String, Location, Array[Herb::Errors::Error], Array[Herb::AST::Node]) -> void
@@ -203,11 +217,13 @@ module Herb
203
217
  # : () -> String
204
218
  def inspect: () -> String
205
219
 
206
- # : (?Integer) -> String
207
- def tree_inspect: (?Integer) -> String
220
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
221
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
208
222
  end
209
223
 
210
224
  class HTMLAttributeNode < Node
225
+ include Colors
226
+
211
227
  attr_reader name: Herb::AST::HTMLAttributeNameNode
212
228
 
213
229
  attr_reader equals: Herb::Token
@@ -232,11 +248,13 @@ module Herb
232
248
  # : () -> String
233
249
  def inspect: () -> String
234
250
 
235
- # : (?Integer) -> String
236
- def tree_inspect: (?Integer) -> String
251
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
252
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
237
253
  end
238
254
 
239
255
  class HTMLTextNode < Node
256
+ include Colors
257
+
240
258
  attr_reader content: String
241
259
 
242
260
  # : (String, Location, Array[Herb::Errors::Error], String) -> void
@@ -257,11 +275,13 @@ module Herb
257
275
  # : () -> String
258
276
  def inspect: () -> String
259
277
 
260
- # : (?Integer) -> String
261
- def tree_inspect: (?Integer) -> String
278
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
279
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
262
280
  end
263
281
 
264
282
  class HTMLCommentNode < Node
283
+ include Colors
284
+
265
285
  attr_reader comment_start: Herb::Token
266
286
 
267
287
  attr_reader children: Array[Herb::AST::Node]
@@ -286,11 +306,13 @@ module Herb
286
306
  # : () -> String
287
307
  def inspect: () -> String
288
308
 
289
- # : (?Integer) -> String
290
- def tree_inspect: (?Integer) -> String
309
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
310
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
291
311
  end
292
312
 
293
313
  class HTMLDoctypeNode < Node
314
+ include Colors
315
+
294
316
  attr_reader tag_opening: Herb::Token
295
317
 
296
318
  attr_reader children: Array[Herb::AST::Node]
@@ -315,11 +337,13 @@ module Herb
315
337
  # : () -> String
316
338
  def inspect: () -> String
317
339
 
318
- # : (?Integer) -> String
319
- def tree_inspect: (?Integer) -> String
340
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
341
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
320
342
  end
321
343
 
322
344
  class XMLDeclarationNode < Node
345
+ include Colors
346
+
323
347
  attr_reader tag_opening: Herb::Token
324
348
 
325
349
  attr_reader children: Array[Herb::AST::Node]
@@ -344,11 +368,13 @@ module Herb
344
368
  # : () -> String
345
369
  def inspect: () -> String
346
370
 
347
- # : (?Integer) -> String
348
- def tree_inspect: (?Integer) -> String
371
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
372
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
349
373
  end
350
374
 
351
375
  class CDATANode < Node
376
+ include Colors
377
+
352
378
  attr_reader tag_opening: Herb::Token
353
379
 
354
380
  attr_reader children: Array[Herb::AST::Node]
@@ -373,11 +399,13 @@ module Herb
373
399
  # : () -> String
374
400
  def inspect: () -> String
375
401
 
376
- # : (?Integer) -> String
377
- def tree_inspect: (?Integer) -> String
402
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
403
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
378
404
  end
379
405
 
380
406
  class WhitespaceNode < Node
407
+ include Colors
408
+
381
409
  attr_reader value: Herb::Token
382
410
 
383
411
  # : (String, Location, Array[Herb::Errors::Error], Herb::Token) -> void
@@ -398,11 +426,13 @@ module Herb
398
426
  # : () -> String
399
427
  def inspect: () -> String
400
428
 
401
- # : (?Integer) -> String
402
- def tree_inspect: (?Integer) -> String
429
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
430
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
403
431
  end
404
432
 
405
433
  class ERBContentNode < Node
434
+ include Colors
435
+
406
436
  attr_reader tag_opening: Herb::Token
407
437
 
408
438
  attr_reader content: Herb::Token
@@ -433,11 +463,13 @@ module Herb
433
463
  # : () -> String
434
464
  def inspect: () -> String
435
465
 
436
- # : (?Integer) -> String
437
- def tree_inspect: (?Integer) -> String
466
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
467
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
438
468
  end
439
469
 
440
470
  class ERBEndNode < Node
471
+ include Colors
472
+
441
473
  attr_reader tag_opening: Herb::Token
442
474
 
443
475
  attr_reader content: Herb::Token
@@ -462,11 +494,13 @@ module Herb
462
494
  # : () -> String
463
495
  def inspect: () -> String
464
496
 
465
- # : (?Integer) -> String
466
- def tree_inspect: (?Integer) -> String
497
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
498
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
467
499
  end
468
500
 
469
501
  class ERBElseNode < Node
502
+ include Colors
503
+
470
504
  attr_reader tag_opening: Herb::Token
471
505
 
472
506
  attr_reader content: Herb::Token
@@ -493,11 +527,13 @@ module Herb
493
527
  # : () -> String
494
528
  def inspect: () -> String
495
529
 
496
- # : (?Integer) -> String
497
- def tree_inspect: (?Integer) -> String
530
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
531
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
498
532
  end
499
533
 
500
534
  class ERBIfNode < Node
535
+ include Colors
536
+
501
537
  attr_reader tag_opening: Herb::Token
502
538
 
503
539
  attr_reader content: Herb::Token
@@ -528,11 +564,13 @@ module Herb
528
564
  # : () -> String
529
565
  def inspect: () -> String
530
566
 
531
- # : (?Integer) -> String
532
- def tree_inspect: (?Integer) -> String
567
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
568
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
533
569
  end
534
570
 
535
571
  class ERBBlockNode < Node
572
+ include Colors
573
+
536
574
  attr_reader tag_opening: Herb::Token
537
575
 
538
576
  attr_reader content: Herb::Token
@@ -561,11 +599,13 @@ module Herb
561
599
  # : () -> String
562
600
  def inspect: () -> String
563
601
 
564
- # : (?Integer) -> String
565
- def tree_inspect: (?Integer) -> String
602
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
603
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
566
604
  end
567
605
 
568
606
  class ERBWhenNode < Node
607
+ include Colors
608
+
569
609
  attr_reader tag_opening: Herb::Token
570
610
 
571
611
  attr_reader content: Herb::Token
@@ -592,11 +632,13 @@ module Herb
592
632
  # : () -> String
593
633
  def inspect: () -> String
594
634
 
595
- # : (?Integer) -> String
596
- def tree_inspect: (?Integer) -> String
635
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
636
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
597
637
  end
598
638
 
599
639
  class ERBCaseNode < Node
640
+ include Colors
641
+
600
642
  attr_reader tag_opening: Herb::Token
601
643
 
602
644
  attr_reader content: Herb::Token
@@ -629,11 +671,13 @@ module Herb
629
671
  # : () -> String
630
672
  def inspect: () -> String
631
673
 
632
- # : (?Integer) -> String
633
- def tree_inspect: (?Integer) -> String
674
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
675
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
634
676
  end
635
677
 
636
678
  class ERBCaseMatchNode < Node
679
+ include Colors
680
+
637
681
  attr_reader tag_opening: Herb::Token
638
682
 
639
683
  attr_reader content: Herb::Token
@@ -666,11 +710,13 @@ module Herb
666
710
  # : () -> String
667
711
  def inspect: () -> String
668
712
 
669
- # : (?Integer) -> String
670
- def tree_inspect: (?Integer) -> String
713
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
714
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
671
715
  end
672
716
 
673
717
  class ERBWhileNode < Node
718
+ include Colors
719
+
674
720
  attr_reader tag_opening: Herb::Token
675
721
 
676
722
  attr_reader content: Herb::Token
@@ -699,11 +745,13 @@ module Herb
699
745
  # : () -> String
700
746
  def inspect: () -> String
701
747
 
702
- # : (?Integer) -> String
703
- def tree_inspect: (?Integer) -> String
748
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
749
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
704
750
  end
705
751
 
706
752
  class ERBUntilNode < Node
753
+ include Colors
754
+
707
755
  attr_reader tag_opening: Herb::Token
708
756
 
709
757
  attr_reader content: Herb::Token
@@ -732,11 +780,13 @@ module Herb
732
780
  # : () -> String
733
781
  def inspect: () -> String
734
782
 
735
- # : (?Integer) -> String
736
- def tree_inspect: (?Integer) -> String
783
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
784
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
737
785
  end
738
786
 
739
787
  class ERBForNode < Node
788
+ include Colors
789
+
740
790
  attr_reader tag_opening: Herb::Token
741
791
 
742
792
  attr_reader content: Herb::Token
@@ -765,11 +815,13 @@ module Herb
765
815
  # : () -> String
766
816
  def inspect: () -> String
767
817
 
768
- # : (?Integer) -> String
769
- def tree_inspect: (?Integer) -> String
818
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
819
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
770
820
  end
771
821
 
772
822
  class ERBRescueNode < Node
823
+ include Colors
824
+
773
825
  attr_reader tag_opening: Herb::Token
774
826
 
775
827
  attr_reader content: Herb::Token
@@ -798,11 +850,13 @@ module Herb
798
850
  # : () -> String
799
851
  def inspect: () -> String
800
852
 
801
- # : (?Integer) -> String
802
- def tree_inspect: (?Integer) -> String
853
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
854
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
803
855
  end
804
856
 
805
857
  class ERBEnsureNode < Node
858
+ include Colors
859
+
806
860
  attr_reader tag_opening: Herb::Token
807
861
 
808
862
  attr_reader content: Herb::Token
@@ -829,11 +883,13 @@ module Herb
829
883
  # : () -> String
830
884
  def inspect: () -> String
831
885
 
832
- # : (?Integer) -> String
833
- def tree_inspect: (?Integer) -> String
886
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
887
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
834
888
  end
835
889
 
836
890
  class ERBBeginNode < Node
891
+ include Colors
892
+
837
893
  attr_reader tag_opening: Herb::Token
838
894
 
839
895
  attr_reader content: Herb::Token
@@ -868,11 +924,13 @@ module Herb
868
924
  # : () -> String
869
925
  def inspect: () -> String
870
926
 
871
- # : (?Integer) -> String
872
- def tree_inspect: (?Integer) -> String
927
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
928
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
873
929
  end
874
930
 
875
931
  class ERBUnlessNode < Node
932
+ include Colors
933
+
876
934
  attr_reader tag_opening: Herb::Token
877
935
 
878
936
  attr_reader content: Herb::Token
@@ -903,11 +961,13 @@ module Herb
903
961
  # : () -> String
904
962
  def inspect: () -> String
905
963
 
906
- # : (?Integer) -> String
907
- def tree_inspect: (?Integer) -> String
964
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
965
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
908
966
  end
909
967
 
910
968
  class ERBYieldNode < Node
969
+ include Colors
970
+
911
971
  attr_reader tag_opening: Herb::Token
912
972
 
913
973
  attr_reader content: Herb::Token
@@ -932,11 +992,13 @@ module Herb
932
992
  # : () -> String
933
993
  def inspect: () -> String
934
994
 
935
- # : (?Integer) -> String
936
- def tree_inspect: (?Integer) -> String
995
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
996
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
937
997
  end
938
998
 
939
999
  class ERBInNode < Node
1000
+ include Colors
1001
+
940
1002
  attr_reader tag_opening: Herb::Token
941
1003
 
942
1004
  attr_reader content: Herb::Token
@@ -963,8 +1025,8 @@ module Herb
963
1025
  # : () -> String
964
1026
  def inspect: () -> String
965
1027
 
966
- # : (?Integer) -> String
967
- def tree_inspect: (?Integer) -> String
1028
+ # : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
1029
+ def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
968
1030
  end
969
1031
  end
970
1032
  end
@@ -0,0 +1,35 @@
1
+ # Generated from lib/herb/colors.rb with RBS::Inline
2
+
3
+ module Herb
4
+ module Colors
5
+ # : () -> bool
6
+ def self?.enabled?: () -> bool
7
+
8
+ # : (String) -> String
9
+ def self?.white: (String) -> String
10
+
11
+ # : (String) -> String
12
+ def self?.yellow: (String) -> String
13
+
14
+ # : (String) -> String
15
+ def self?.green: (String) -> String
16
+
17
+ # : (String) -> String
18
+ def self?.red: (String) -> String
19
+
20
+ # : (String) -> String
21
+ def self?.magenta: (String) -> String
22
+
23
+ # : (String) -> String
24
+ def self?.cyan: (String) -> String
25
+
26
+ # : (String) -> String
27
+ def self?.bright_magenta: (String) -> String
28
+
29
+ # : (String) -> String
30
+ def self?.dimmed: (String) -> String
31
+
32
+ # : (String) -> String
33
+ def self?.bold: (String) -> String
34
+ end
35
+ end
@@ -89,6 +89,8 @@ module Herb
89
89
 
90
90
  def add_text: (untyped text) -> untyped
91
91
 
92
+ def add_whitespace: (untyped whitespace) -> untyped
93
+
92
94
  def add_code: (untyped code) -> untyped
93
95
 
94
96
  def add_expression: (untyped code) -> untyped
@@ -97,13 +99,33 @@ module Herb
97
99
 
98
100
  def optimize_tokens: (untyped tokens) -> untyped
99
101
 
102
+ def compact_whitespace_tokens: (untyped tokens) -> untyped
103
+
104
+ def adjacent_whitespace?: (untyped tokens, untyped index) -> untyped
105
+
106
+ def trailing_whitespace?: (untyped token) -> untyped
107
+
108
+ def leading_whitespace?: (untyped token) -> untyped
109
+
110
+ def whitespace_before_code_sequence?: (untyped tokens, untyped current_index) -> untyped
111
+
112
+ def find_token_before_code_sequence: (untyped tokens, untyped whitespace_index) -> untyped
113
+
100
114
  def process_erb_output: (untyped opening, untyped code) -> untyped
101
115
 
102
116
  def should_escape_output?: (untyped opening) -> untyped
103
117
 
104
118
  def add_expression_with_escaping: (untyped code, untyped should_escape) -> untyped
105
119
 
106
- def handle_whitespace_trimming: (untyped node) -> untyped
120
+ def at_line_start?: () -> untyped
121
+
122
+ def extract_lspace: () -> untyped
123
+
124
+ def extract_and_remove_lspace!: () -> untyped
125
+
126
+ def apply_trim: (untyped node, untyped code) -> untyped
127
+
128
+ def remove_trailing_whitespace_from_last_token!: () -> untyped
107
129
  end
108
130
  end
109
131
  end