herb 0.8.9-arm-linux-gnu → 0.9.0-arm-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.
- checksums.yaml +4 -4
- data/Makefile +33 -11
- data/README.md +64 -34
- data/Rakefile +48 -40
- data/config.yml +323 -33
- data/ext/herb/error_helpers.c +384 -132
- data/ext/herb/error_helpers.h +1 -0
- data/ext/herb/extconf.rb +67 -28
- data/ext/herb/extension.c +317 -51
- data/ext/herb/extension.h +1 -0
- data/ext/herb/extension_helpers.c +23 -14
- data/ext/herb/extension_helpers.h +2 -2
- data/ext/herb/nodes.c +537 -270
- data/ext/herb/nodes.h +1 -0
- data/herb.gemspec +3 -2
- data/lib/herb/3.0/herb.so +0 -0
- data/lib/herb/3.1/herb.so +0 -0
- data/lib/herb/3.2/herb.so +0 -0
- data/lib/herb/3.3/herb.so +0 -0
- data/lib/herb/3.4/herb.so +0 -0
- data/lib/herb/4.0/herb.so +0 -0
- data/lib/herb/ast/helpers.rb +3 -3
- data/lib/herb/ast/node.rb +15 -2
- data/lib/herb/ast/nodes.rb +1132 -157
- data/lib/herb/bootstrap.rb +87 -0
- data/lib/herb/cli.rb +341 -31
- data/lib/herb/configuration.rb +248 -0
- data/lib/herb/defaults.yml +32 -0
- data/lib/herb/engine/compiler.rb +83 -14
- data/lib/herb/engine/debug_visitor.rb +51 -6
- data/lib/herb/engine/error_formatter.rb +13 -9
- data/lib/herb/engine/parser_error_overlay.rb +10 -6
- data/lib/herb/engine/validator.rb +8 -3
- data/lib/herb/engine/validators/nesting_validator.rb +2 -2
- data/lib/herb/engine.rb +92 -33
- data/lib/herb/errors.rb +582 -87
- data/lib/herb/lex_result.rb +1 -0
- data/lib/herb/location.rb +7 -3
- data/lib/herb/parse_result.rb +12 -2
- data/lib/herb/parser_options.rb +57 -0
- data/lib/herb/position.rb +1 -0
- data/lib/herb/prism_inspect.rb +116 -0
- data/lib/herb/project.rb +923 -331
- data/lib/herb/range.rb +1 -0
- data/lib/herb/token.rb +7 -1
- data/lib/herb/version.rb +1 -1
- data/lib/herb/visitor.rb +37 -2
- data/lib/herb/warnings.rb +6 -1
- data/lib/herb.rb +35 -3
- data/sig/herb/ast/helpers.rbs +2 -2
- data/sig/herb/ast/node.rbs +12 -2
- data/sig/herb/ast/nodes.rbs +641 -128
- data/sig/herb/bootstrap.rbs +31 -0
- data/sig/herb/configuration.rbs +89 -0
- data/sig/herb/engine/compiler.rbs +9 -1
- data/sig/herb/engine/debug_visitor.rbs +8 -0
- data/sig/herb/engine/validator.rbs +5 -1
- data/sig/herb/engine.rbs +18 -2
- data/sig/herb/errors.rbs +268 -63
- data/sig/herb/location.rbs +4 -0
- data/sig/herb/parse_result.rbs +4 -2
- data/sig/herb/parser_options.rbs +42 -0
- data/sig/herb/position.rbs +1 -0
- data/sig/herb/prism_inspect.rbs +28 -0
- data/sig/herb/range.rbs +1 -0
- data/sig/herb/token.rbs +6 -0
- data/sig/herb/visitor.rbs +25 -4
- data/sig/herb/warnings.rbs +6 -1
- data/sig/herb.rbs +14 -0
- data/sig/herb_c_extension.rbs +5 -2
- data/sig/serialized_ast_errors.rbs +57 -6
- data/sig/serialized_ast_nodes.rbs +60 -6
- data/src/analyze/action_view/attribute_extraction_helpers.c +290 -0
- data/src/analyze/action_view/content_tag.c +70 -0
- data/src/analyze/action_view/link_to.c +143 -0
- data/src/analyze/action_view/registry.c +60 -0
- data/src/analyze/action_view/tag.c +64 -0
- data/src/analyze/action_view/tag_helper_node_builders.c +305 -0
- data/src/analyze/action_view/tag_helpers.c +748 -0
- data/src/analyze/action_view/turbo_frame_tag.c +88 -0
- data/src/analyze/analyze.c +882 -0
- data/src/{analyzed_ruby.c → analyze/analyzed_ruby.c} +13 -11
- data/src/analyze/builders.c +343 -0
- data/src/analyze/conditional_elements.c +594 -0
- data/src/analyze/conditional_open_tags.c +640 -0
- data/src/analyze/control_type.c +250 -0
- data/src/{analyze_helpers.c → analyze/helpers.c} +79 -31
- data/src/analyze/invalid_structures.c +193 -0
- data/src/{analyze_missing_end.c → analyze/missing_end.c} +33 -22
- data/src/analyze/parse_errors.c +84 -0
- data/src/analyze/prism_annotate.c +397 -0
- data/src/{analyze_transform.c → analyze/transform.c} +17 -3
- data/src/ast_node.c +17 -7
- data/src/ast_nodes.c +662 -387
- data/src/ast_pretty_print.c +190 -6
- data/src/errors.c +1099 -506
- data/src/extract.c +148 -49
- data/src/herb.c +52 -34
- data/src/html_util.c +241 -12
- data/src/include/analyze/action_view/attribute_extraction_helpers.h +36 -0
- data/src/include/analyze/action_view/tag_helper_handler.h +41 -0
- data/src/include/analyze/action_view/tag_helper_node_builders.h +70 -0
- data/src/include/analyze/action_view/tag_helpers.h +38 -0
- data/src/include/{analyze.h → analyze/analyze.h} +14 -4
- data/src/include/{analyzed_ruby.h → analyze/analyzed_ruby.h} +3 -3
- data/src/include/analyze/builders.h +27 -0
- data/src/include/analyze/conditional_elements.h +9 -0
- data/src/include/analyze/conditional_open_tags.h +9 -0
- data/src/include/analyze/control_type.h +14 -0
- data/src/include/{analyze_helpers.h → analyze/helpers.h} +22 -17
- data/src/include/analyze/invalid_structures.h +11 -0
- data/src/include/analyze/prism_annotate.h +16 -0
- data/src/include/ast_node.h +11 -5
- data/src/include/ast_nodes.h +117 -38
- data/src/include/ast_pretty_print.h +5 -0
- data/src/include/element_source.h +3 -8
- data/src/include/errors.h +154 -53
- data/src/include/extract.h +21 -5
- data/src/include/herb.h +18 -6
- data/src/include/herb_prism_node.h +13 -0
- data/src/include/html_util.h +7 -2
- data/src/include/io.h +3 -1
- data/src/include/lex_helpers.h +29 -0
- data/src/include/lexer.h +1 -1
- data/src/include/lexer_peek_helpers.h +87 -13
- data/src/include/lexer_struct.h +2 -0
- data/src/include/location.h +2 -1
- data/src/include/parser.h +27 -2
- data/src/include/parser_helpers.h +19 -3
- data/src/include/pretty_print.h +10 -5
- data/src/include/prism_context.h +45 -0
- data/src/include/prism_helpers.h +10 -7
- data/src/include/prism_serialized.h +12 -0
- data/src/include/token.h +16 -4
- data/src/include/token_struct.h +10 -3
- data/src/include/utf8.h +2 -1
- data/src/include/util/hb_allocator.h +78 -0
- data/src/include/util/hb_arena.h +6 -1
- data/src/include/util/hb_arena_debug.h +12 -1
- data/src/include/util/hb_array.h +7 -3
- data/src/include/util/hb_buffer.h +6 -4
- data/src/include/util/hb_foreach.h +79 -0
- data/src/include/util/hb_narray.h +8 -4
- data/src/include/util/hb_string.h +56 -9
- data/src/include/util/string.h +11 -0
- data/src/include/util.h +6 -3
- data/src/include/version.h +1 -1
- data/src/io.c +3 -2
- data/src/lexer.c +42 -30
- data/src/lexer_peek_helpers.c +12 -74
- data/src/location.c +2 -2
- data/src/main.c +79 -66
- data/src/parser.c +784 -247
- data/src/parser_helpers.c +110 -23
- data/src/parser_match_tags.c +109 -48
- data/src/pretty_print.c +29 -24
- data/src/prism_helpers.c +30 -27
- data/src/ruby_parser.c +2 -0
- data/src/token.c +151 -66
- data/src/token_matchers.c +0 -1
- data/src/utf8.c +7 -6
- data/src/util/hb_allocator.c +341 -0
- data/src/util/hb_arena.c +81 -56
- data/src/util/hb_arena_debug.c +32 -17
- data/src/util/hb_array.c +30 -15
- data/src/util/hb_buffer.c +17 -21
- data/src/util/hb_narray.c +22 -7
- data/src/util/hb_string.c +49 -35
- data/src/util.c +21 -11
- data/src/visitor.c +47 -0
- data/templates/ext/herb/error_helpers.c.erb +24 -11
- data/templates/ext/herb/error_helpers.h.erb +1 -0
- data/templates/ext/herb/nodes.c.erb +50 -16
- data/templates/ext/herb/nodes.h.erb +1 -0
- data/templates/java/error_helpers.c.erb +1 -1
- data/templates/java/nodes.c.erb +30 -8
- data/templates/java/org/herb/ast/Errors.java.erb +24 -1
- data/templates/java/org/herb/ast/Nodes.java.erb +80 -21
- data/templates/javascript/packages/core/src/errors.ts.erb +16 -3
- data/templates/javascript/packages/core/src/node-type-guards.ts.erb +3 -1
- data/templates/javascript/packages/core/src/nodes.ts.erb +109 -32
- data/templates/javascript/packages/node/extension/error_helpers.cpp.erb +13 -4
- data/templates/javascript/packages/node/extension/nodes.cpp.erb +43 -4
- data/templates/lib/herb/ast/nodes.rb.erb +88 -31
- data/templates/lib/herb/errors.rb.erb +15 -3
- data/templates/lib/herb/visitor.rb.erb +2 -2
- data/templates/rust/src/ast/nodes.rs.erb +97 -44
- data/templates/rust/src/errors.rs.erb +2 -1
- data/templates/rust/src/nodes.rs.erb +167 -15
- data/templates/rust/src/union_types.rs.erb +60 -0
- data/templates/rust/src/visitor.rs.erb +81 -0
- data/templates/src/{analyze_missing_end.c.erb → analyze/missing_end.c.erb} +9 -6
- data/templates/src/{analyze_transform.c.erb → analyze/transform.c.erb} +2 -2
- data/templates/src/ast_nodes.c.erb +34 -26
- data/templates/src/ast_pretty_print.c.erb +24 -5
- data/templates/src/errors.c.erb +60 -54
- data/templates/src/include/ast_nodes.h.erb +6 -2
- data/templates/src/include/ast_pretty_print.h.erb +5 -0
- data/templates/src/include/errors.h.erb +15 -11
- data/templates/src/include/util/hb_foreach.h.erb +20 -0
- data/templates/src/parser_match_tags.c.erb +10 -4
- data/templates/src/visitor.c.erb +2 -2
- data/templates/template.rb +204 -29
- data/templates/wasm/error_helpers.cpp.erb +9 -5
- data/templates/wasm/nodes.cpp.erb +41 -4
- data/vendor/prism/config.yml +4 -4
- data/vendor/prism/include/prism/ast.h +4 -4
- data/vendor/prism/include/prism/version.h +2 -2
- data/vendor/prism/src/prism.c +1 -1
- data/vendor/prism/templates/java/org/prism/Loader.java.erb +1 -1
- data/vendor/prism/templates/javascript/src/deserialize.js.erb +1 -1
- data/vendor/prism/templates/lib/prism/node.rb.erb +23 -15
- data/vendor/prism/templates/lib/prism/serialize.rb.erb +1 -1
- data/vendor/prism/templates/rbi/prism/node.rbi.erb +3 -0
- data/vendor/prism/templates/sig/prism/node.rbs.erb +3 -0
- data/vendor/prism/templates/sig/prism.rbs.erb +9 -10
- metadata +58 -16
- data/src/analyze.c +0 -1594
- data/src/element_source.c +0 -12
- data/src/include/util/hb_system.h +0 -9
- data/src/util/hb_system.c +0 -30
data/config.yml
CHANGED
|
@@ -12,7 +12,7 @@ errors:
|
|
|
12
12
|
types:
|
|
13
13
|
- name: UnexpectedError
|
|
14
14
|
message:
|
|
15
|
-
template: "%s. Expected:
|
|
15
|
+
template: "%s. Expected: %s, found: %s."
|
|
16
16
|
arguments:
|
|
17
17
|
- description
|
|
18
18
|
- expected
|
|
@@ -30,10 +30,10 @@ errors:
|
|
|
30
30
|
|
|
31
31
|
- name: UnexpectedTokenError
|
|
32
32
|
message:
|
|
33
|
-
template: "Found
|
|
33
|
+
template: "Found %s when expecting %s at (%u:%u)."
|
|
34
34
|
arguments:
|
|
35
|
-
-
|
|
36
|
-
-
|
|
35
|
+
- token_type_to_friendly_string(found->type)
|
|
36
|
+
- token_type_to_friendly_string(expected_type)
|
|
37
37
|
- found->location.start.line
|
|
38
38
|
- found->location.start.column
|
|
39
39
|
|
|
@@ -87,22 +87,6 @@ errors:
|
|
|
87
87
|
- name: closing_tag
|
|
88
88
|
type: token
|
|
89
89
|
|
|
90
|
-
- name: QuotesMismatchError
|
|
91
|
-
message:
|
|
92
|
-
template: "String opened with %s but closed with %s at (%u:%u)."
|
|
93
|
-
arguments:
|
|
94
|
-
- opening_quote->value
|
|
95
|
-
- closing_quote->value
|
|
96
|
-
- closing_quote->location.start.line
|
|
97
|
-
- closing_quote->location.start.column
|
|
98
|
-
|
|
99
|
-
fields:
|
|
100
|
-
- name: opening_quote
|
|
101
|
-
type: token
|
|
102
|
-
|
|
103
|
-
- name: closing_quote
|
|
104
|
-
type: token
|
|
105
|
-
|
|
106
90
|
- name: VoidElementClosingTagError
|
|
107
91
|
message:
|
|
108
92
|
template: "`%s` is a void element and should not be used as a closing tag. Use `<%s>` or `<%s />` instead of `</%s>`."
|
|
@@ -178,6 +162,180 @@ errors:
|
|
|
178
162
|
|
|
179
163
|
fields: []
|
|
180
164
|
|
|
165
|
+
- name: ERBCaseWithConditionsError
|
|
166
|
+
message:
|
|
167
|
+
template: "A `case` statement with `when`/`in` conditions in a single ERB tag cannot be reliably parsed, compiled, and formatted. Use separate ERB tags for `case` and its conditions (e.g., `<% case x %>` followed by `<% when y %>`)."
|
|
168
|
+
arguments: []
|
|
169
|
+
|
|
170
|
+
fields: []
|
|
171
|
+
|
|
172
|
+
- name: ConditionalElementMultipleTagsError
|
|
173
|
+
message:
|
|
174
|
+
template: "Conditional element pattern detected at (%zu:%zu) but the conditional block contains multiple HTML tags. Each conditional element must wrap exactly one opening and one closing tag. Consider nesting the conditionals individually."
|
|
175
|
+
arguments:
|
|
176
|
+
- line
|
|
177
|
+
- column
|
|
178
|
+
|
|
179
|
+
fields:
|
|
180
|
+
- name: line
|
|
181
|
+
type: size_t
|
|
182
|
+
|
|
183
|
+
- name: column
|
|
184
|
+
type: size_t
|
|
185
|
+
|
|
186
|
+
- name: ConditionalElementConditionMismatchError
|
|
187
|
+
message:
|
|
188
|
+
template: "Conditional element `<%s>` has mismatched conditions: opening uses `%s` at (%zu:%zu) but closing uses `%s` at (%zu:%zu). Both conditions must be identical."
|
|
189
|
+
arguments:
|
|
190
|
+
- tag_name
|
|
191
|
+
- open_condition
|
|
192
|
+
- open_line
|
|
193
|
+
- open_column
|
|
194
|
+
- close_condition
|
|
195
|
+
- close_line
|
|
196
|
+
- close_column
|
|
197
|
+
|
|
198
|
+
fields:
|
|
199
|
+
- name: tag_name
|
|
200
|
+
type: string
|
|
201
|
+
|
|
202
|
+
- name: open_condition
|
|
203
|
+
type: string
|
|
204
|
+
|
|
205
|
+
- name: open_line
|
|
206
|
+
type: size_t
|
|
207
|
+
|
|
208
|
+
- name: open_column
|
|
209
|
+
type: size_t
|
|
210
|
+
|
|
211
|
+
- name: close_condition
|
|
212
|
+
type: string
|
|
213
|
+
|
|
214
|
+
- name: close_line
|
|
215
|
+
type: size_t
|
|
216
|
+
|
|
217
|
+
- name: close_column
|
|
218
|
+
type: size_t
|
|
219
|
+
|
|
220
|
+
- name: InvalidCommentClosingTagError
|
|
221
|
+
message:
|
|
222
|
+
template: "Invalid comment closing tag `%s` at (%u:%u). Use `-->` instead of `--!>`."
|
|
223
|
+
arguments:
|
|
224
|
+
- closing_tag->value
|
|
225
|
+
- closing_tag->location.start.line
|
|
226
|
+
- closing_tag->location.start.column
|
|
227
|
+
|
|
228
|
+
fields:
|
|
229
|
+
- name: closing_tag
|
|
230
|
+
type: token
|
|
231
|
+
|
|
232
|
+
- name: OmittedClosingTagError
|
|
233
|
+
message:
|
|
234
|
+
template: "Element `<%s>` at (%u:%u) has its closing tag omitted. While valid HTML, consider adding an explicit `</%s>` closing tag at (%u:%u) for clarity, or set `strict: false` to allow this."
|
|
235
|
+
arguments:
|
|
236
|
+
- opening_tag->value
|
|
237
|
+
- opening_tag->location.start.line
|
|
238
|
+
- opening_tag->location.start.column
|
|
239
|
+
- opening_tag->value
|
|
240
|
+
- insertion_point.line
|
|
241
|
+
- insertion_point.column
|
|
242
|
+
|
|
243
|
+
fields:
|
|
244
|
+
- name: opening_tag
|
|
245
|
+
type: token
|
|
246
|
+
|
|
247
|
+
- name: insertion_point
|
|
248
|
+
type: position
|
|
249
|
+
|
|
250
|
+
- name: UnclosedOpenTagError
|
|
251
|
+
message:
|
|
252
|
+
template: "Opening tag `<%s>` at (%u:%u) is missing closing `>`."
|
|
253
|
+
arguments:
|
|
254
|
+
- tag_name->value
|
|
255
|
+
- tag_name->location.start.line
|
|
256
|
+
- tag_name->location.start.column
|
|
257
|
+
|
|
258
|
+
fields:
|
|
259
|
+
- name: tag_name
|
|
260
|
+
type: token
|
|
261
|
+
|
|
262
|
+
- name: UnclosedCloseTagError
|
|
263
|
+
message:
|
|
264
|
+
template: "Closing tag `</%s>` at (%u:%u) is missing closing `>`."
|
|
265
|
+
arguments:
|
|
266
|
+
- tag_name->value
|
|
267
|
+
- tag_name->location.start.line
|
|
268
|
+
- tag_name->location.start.column
|
|
269
|
+
|
|
270
|
+
fields:
|
|
271
|
+
- name: tag_name
|
|
272
|
+
type: token
|
|
273
|
+
|
|
274
|
+
- name: UnclosedQuoteError
|
|
275
|
+
message:
|
|
276
|
+
template: "Attribute value opened with %s at (%u:%u) was never closed."
|
|
277
|
+
arguments:
|
|
278
|
+
- opening_quote->value
|
|
279
|
+
- opening_quote->location.start.line
|
|
280
|
+
- opening_quote->location.start.column
|
|
281
|
+
|
|
282
|
+
fields:
|
|
283
|
+
- name: opening_quote
|
|
284
|
+
type: token
|
|
285
|
+
|
|
286
|
+
- name: MissingAttributeValueError
|
|
287
|
+
message:
|
|
288
|
+
template: "Attribute `%s` at (%u:%u) is missing a value after the equals sign."
|
|
289
|
+
arguments:
|
|
290
|
+
- attribute_name
|
|
291
|
+
- start.line
|
|
292
|
+
- start.column
|
|
293
|
+
|
|
294
|
+
fields:
|
|
295
|
+
- name: attribute_name
|
|
296
|
+
type: string
|
|
297
|
+
|
|
298
|
+
- name: UnclosedERBTagError
|
|
299
|
+
message:
|
|
300
|
+
template: "ERB tag `%s` at (%u:%u) is missing closing `%%>`."
|
|
301
|
+
arguments:
|
|
302
|
+
- opening_tag->value
|
|
303
|
+
- opening_tag->location.start.line
|
|
304
|
+
- opening_tag->location.start.column
|
|
305
|
+
|
|
306
|
+
fields:
|
|
307
|
+
- name: opening_tag
|
|
308
|
+
type: token
|
|
309
|
+
|
|
310
|
+
- name: StrayERBClosingTagError
|
|
311
|
+
message:
|
|
312
|
+
template: "Stray `%%>` found at (%u:%u). This closing delimiter is not part of an ERB tag and will be treated as plain text. If you want a literal `%%>`, use the HTML entities `%>` instead."
|
|
313
|
+
arguments:
|
|
314
|
+
- start.line
|
|
315
|
+
- start.column
|
|
316
|
+
|
|
317
|
+
fields: []
|
|
318
|
+
|
|
319
|
+
- name: NestedERBTagError
|
|
320
|
+
message:
|
|
321
|
+
template: "ERB tag `%s` at (%u:%u) was terminated by nested `<%%` tag at (%zu:%zu). Nesting `<%%` tags is not supported."
|
|
322
|
+
arguments:
|
|
323
|
+
- opening_tag->value
|
|
324
|
+
- opening_tag->location.start.line
|
|
325
|
+
- opening_tag->location.start.column
|
|
326
|
+
- nested_tag_line
|
|
327
|
+
- nested_tag_column
|
|
328
|
+
|
|
329
|
+
fields:
|
|
330
|
+
- name: opening_tag
|
|
331
|
+
type: token
|
|
332
|
+
|
|
333
|
+
- name: nested_tag_line
|
|
334
|
+
type: size_t
|
|
335
|
+
|
|
336
|
+
- name: nested_tag_column
|
|
337
|
+
type: size_t
|
|
338
|
+
|
|
181
339
|
warnings:
|
|
182
340
|
fields: []
|
|
183
341
|
types: []
|
|
@@ -211,6 +369,12 @@ nodes:
|
|
|
211
369
|
type: array
|
|
212
370
|
kind: Node
|
|
213
371
|
|
|
372
|
+
- name: prism_context
|
|
373
|
+
type: prism_context
|
|
374
|
+
|
|
375
|
+
- name: prism_node
|
|
376
|
+
type: prism_node
|
|
377
|
+
|
|
214
378
|
- name: LiteralNode
|
|
215
379
|
fields:
|
|
216
380
|
- name: content
|
|
@@ -234,6 +398,20 @@ nodes:
|
|
|
234
398
|
- name: is_void
|
|
235
399
|
type: boolean
|
|
236
400
|
|
|
401
|
+
- name: HTMLConditionalOpenTagNode
|
|
402
|
+
fields:
|
|
403
|
+
- name: conditional
|
|
404
|
+
type: node
|
|
405
|
+
kind:
|
|
406
|
+
- ERBIfNode
|
|
407
|
+
- ERBUnlessNode
|
|
408
|
+
|
|
409
|
+
- name: tag_name
|
|
410
|
+
type: token
|
|
411
|
+
|
|
412
|
+
- name: is_void
|
|
413
|
+
type: boolean
|
|
414
|
+
|
|
237
415
|
- name: HTMLCloseTagNode
|
|
238
416
|
fields:
|
|
239
417
|
- name: tag_opening
|
|
@@ -244,16 +422,29 @@ nodes:
|
|
|
244
422
|
|
|
245
423
|
- name: children
|
|
246
424
|
type: array
|
|
247
|
-
kind:
|
|
425
|
+
kind: WhitespaceNode
|
|
248
426
|
|
|
249
427
|
- name: tag_closing
|
|
250
428
|
type: token
|
|
251
429
|
|
|
430
|
+
- name: HTMLOmittedCloseTagNode
|
|
431
|
+
fields:
|
|
432
|
+
- name: tag_name
|
|
433
|
+
type: token
|
|
434
|
+
|
|
435
|
+
- name: HTMLVirtualCloseTagNode
|
|
436
|
+
fields:
|
|
437
|
+
- name: tag_name
|
|
438
|
+
type: token
|
|
439
|
+
|
|
252
440
|
- name: HTMLElementNode
|
|
253
441
|
fields:
|
|
254
442
|
- name: open_tag
|
|
255
443
|
type: node
|
|
256
|
-
kind:
|
|
444
|
+
kind:
|
|
445
|
+
- HTMLOpenTagNode
|
|
446
|
+
- HTMLConditionalOpenTagNode
|
|
447
|
+
- ERBOpenTagNode
|
|
257
448
|
|
|
258
449
|
- name: tag_name
|
|
259
450
|
type: token
|
|
@@ -264,12 +455,53 @@ nodes:
|
|
|
264
455
|
|
|
265
456
|
- name: close_tag
|
|
266
457
|
type: node
|
|
267
|
-
kind:
|
|
458
|
+
kind:
|
|
459
|
+
- HTMLCloseTagNode
|
|
460
|
+
- HTMLOmittedCloseTagNode
|
|
461
|
+
- HTMLVirtualCloseTagNode
|
|
462
|
+
- ERBEndNode
|
|
268
463
|
|
|
269
464
|
- name: is_void
|
|
270
465
|
type: boolean
|
|
271
466
|
|
|
272
|
-
- name:
|
|
467
|
+
- name: element_source
|
|
468
|
+
type: element_source
|
|
469
|
+
|
|
470
|
+
- name: HTMLConditionalElementNode
|
|
471
|
+
fields:
|
|
472
|
+
- name: condition
|
|
473
|
+
type: string
|
|
474
|
+
|
|
475
|
+
- name: open_conditional
|
|
476
|
+
type: node
|
|
477
|
+
kind:
|
|
478
|
+
- ERBIfNode
|
|
479
|
+
- ERBUnlessNode
|
|
480
|
+
|
|
481
|
+
- name: open_tag
|
|
482
|
+
type: borrowed_node
|
|
483
|
+
kind: HTMLOpenTagNode
|
|
484
|
+
|
|
485
|
+
- name: body
|
|
486
|
+
type: array
|
|
487
|
+
kind: Node
|
|
488
|
+
|
|
489
|
+
- name: close_tag
|
|
490
|
+
type: borrowed_node
|
|
491
|
+
kind:
|
|
492
|
+
- HTMLCloseTagNode
|
|
493
|
+
- HTMLOmittedCloseTagNode
|
|
494
|
+
|
|
495
|
+
- name: close_conditional
|
|
496
|
+
type: node
|
|
497
|
+
kind:
|
|
498
|
+
- ERBIfNode
|
|
499
|
+
- ERBUnlessNode
|
|
500
|
+
|
|
501
|
+
- name: tag_name
|
|
502
|
+
type: token
|
|
503
|
+
|
|
504
|
+
- name: element_source
|
|
273
505
|
type: element_source
|
|
274
506
|
|
|
275
507
|
- name: HTMLAttributeValueNode
|
|
@@ -291,11 +523,9 @@ nodes:
|
|
|
291
523
|
fields:
|
|
292
524
|
- name: children
|
|
293
525
|
type: array
|
|
294
|
-
kind:
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
# - ERBContentNode
|
|
298
|
-
# - WhitespaceNode
|
|
526
|
+
kind:
|
|
527
|
+
- LiteralNode
|
|
528
|
+
- ERBContentNode
|
|
299
529
|
|
|
300
530
|
- name: HTMLAttributeNode
|
|
301
531
|
fields:
|
|
@@ -310,6 +540,37 @@ nodes:
|
|
|
310
540
|
type: node
|
|
311
541
|
kind: HTMLAttributeValueNode
|
|
312
542
|
|
|
543
|
+
- name: RubyLiteralNode
|
|
544
|
+
fields:
|
|
545
|
+
- name: content
|
|
546
|
+
type: string
|
|
547
|
+
|
|
548
|
+
- name: RubyHTMLAttributesSplatNode
|
|
549
|
+
fields:
|
|
550
|
+
- name: content
|
|
551
|
+
type: string
|
|
552
|
+
|
|
553
|
+
- name: prefix
|
|
554
|
+
type: string
|
|
555
|
+
|
|
556
|
+
- name: ERBOpenTagNode
|
|
557
|
+
fields:
|
|
558
|
+
- name: tag_opening
|
|
559
|
+
type: token
|
|
560
|
+
|
|
561
|
+
- name: content
|
|
562
|
+
type: token
|
|
563
|
+
|
|
564
|
+
- name: tag_closing
|
|
565
|
+
type: token
|
|
566
|
+
|
|
567
|
+
- name: tag_name
|
|
568
|
+
type: token
|
|
569
|
+
|
|
570
|
+
- name: children
|
|
571
|
+
type: array
|
|
572
|
+
kind: Node
|
|
573
|
+
|
|
313
574
|
- name: HTMLTextNode
|
|
314
575
|
fields:
|
|
315
576
|
- name: content
|
|
@@ -388,6 +649,9 @@ nodes:
|
|
|
388
649
|
- name: valid
|
|
389
650
|
type: boolean
|
|
390
651
|
|
|
652
|
+
- name: prism_node
|
|
653
|
+
type: prism_node
|
|
654
|
+
|
|
391
655
|
- name: ERBEndNode
|
|
392
656
|
fields:
|
|
393
657
|
- name: tag_opening
|
|
@@ -431,16 +695,18 @@ nodes:
|
|
|
431
695
|
# - name: predicate
|
|
432
696
|
# type: prism_node
|
|
433
697
|
|
|
698
|
+
- name: prism_node
|
|
699
|
+
type: prism_node
|
|
700
|
+
|
|
434
701
|
- name: statements
|
|
435
702
|
type: array
|
|
436
703
|
kind: Node
|
|
437
704
|
|
|
438
705
|
- name: subsequent
|
|
439
706
|
type: node
|
|
440
|
-
kind:
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
# - ERBElseNode
|
|
707
|
+
kind:
|
|
708
|
+
- ERBIfNode
|
|
709
|
+
- ERBElseNode
|
|
444
710
|
|
|
445
711
|
- name: end_node
|
|
446
712
|
type: node
|
|
@@ -463,6 +729,9 @@ nodes:
|
|
|
463
729
|
# - name: opener
|
|
464
730
|
# type: prism_node
|
|
465
731
|
|
|
732
|
+
- name: prism_node
|
|
733
|
+
type: prism_node
|
|
734
|
+
|
|
466
735
|
- name: body
|
|
467
736
|
type: array
|
|
468
737
|
kind: Node
|
|
@@ -511,6 +780,9 @@ nodes:
|
|
|
511
780
|
# - name: predicate
|
|
512
781
|
# type: prism_node
|
|
513
782
|
|
|
783
|
+
- name: prism_node
|
|
784
|
+
type: prism_node
|
|
785
|
+
|
|
514
786
|
- name: conditions
|
|
515
787
|
type: array
|
|
516
788
|
kind: ERBWhenNode
|
|
@@ -541,6 +813,9 @@ nodes:
|
|
|
541
813
|
# - name: predicate
|
|
542
814
|
# type: prism_node
|
|
543
815
|
|
|
816
|
+
- name: prism_node
|
|
817
|
+
type: prism_node
|
|
818
|
+
|
|
544
819
|
- name: conditions
|
|
545
820
|
type: array
|
|
546
821
|
kind: ERBInNode
|
|
@@ -567,6 +842,9 @@ nodes:
|
|
|
567
842
|
# - name: predicate
|
|
568
843
|
# type: prism_node
|
|
569
844
|
|
|
845
|
+
- name: prism_node
|
|
846
|
+
type: prism_node
|
|
847
|
+
|
|
570
848
|
- name: statements
|
|
571
849
|
type: array
|
|
572
850
|
kind: Node
|
|
@@ -589,6 +867,9 @@ nodes:
|
|
|
589
867
|
# - name: predicate
|
|
590
868
|
# type: prism_node
|
|
591
869
|
|
|
870
|
+
- name: prism_node
|
|
871
|
+
type: prism_node
|
|
872
|
+
|
|
592
873
|
- name: statements
|
|
593
874
|
type: array
|
|
594
875
|
kind: Node
|
|
@@ -614,6 +895,9 @@ nodes:
|
|
|
614
895
|
# - name: collection
|
|
615
896
|
# type: prism_node
|
|
616
897
|
|
|
898
|
+
- name: prism_node
|
|
899
|
+
type: prism_node
|
|
900
|
+
|
|
617
901
|
- name: statements
|
|
618
902
|
type: array
|
|
619
903
|
kind: Node
|
|
@@ -674,6 +958,9 @@ nodes:
|
|
|
674
958
|
- name: tag_closing
|
|
675
959
|
type: token
|
|
676
960
|
|
|
961
|
+
- name: prism_node
|
|
962
|
+
type: prism_node
|
|
963
|
+
|
|
677
964
|
- name: statements
|
|
678
965
|
type: array
|
|
679
966
|
kind: Node
|
|
@@ -711,6 +998,9 @@ nodes:
|
|
|
711
998
|
# - name: predicate
|
|
712
999
|
# type: prism_node
|
|
713
1000
|
|
|
1001
|
+
- name: prism_node
|
|
1002
|
+
type: prism_node
|
|
1003
|
+
|
|
714
1004
|
- name: statements
|
|
715
1005
|
type: array
|
|
716
1006
|
kind: Node
|