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.
- checksums.yaml +4 -4
- data/Makefile +8 -5
- data/config.yml +40 -20
- data/ext/herb/error_helpers.c +57 -3
- data/ext/herb/error_helpers.h +1 -1
- data/ext/herb/extconf.rb +1 -0
- data/ext/herb/extension.c +10 -24
- data/ext/herb/extension_helpers.c +12 -18
- data/ext/herb/extension_helpers.h +4 -4
- data/ext/herb/nodes.c +72 -37
- data/herb.gemspec +0 -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/ast/helpers.rb +11 -0
- data/lib/herb/ast/node.rb +15 -6
- data/lib/herb/ast/nodes.rb +609 -392
- data/lib/herb/cli.rb +31 -0
- data/lib/herb/colors.rb +82 -0
- data/lib/herb/engine/compiler.rb +140 -14
- data/lib/herb/engine/debug_visitor.rb +1 -5
- data/lib/herb/engine/parser_error_overlay.rb +1 -1
- data/lib/herb/engine.rb +18 -20
- data/lib/herb/errors.rb +166 -56
- data/lib/herb/location.rb +2 -2
- data/lib/herb/project.rb +86 -21
- data/lib/herb/token.rb +14 -2
- data/lib/herb/version.rb +1 -1
- data/lib/herb.rb +1 -0
- data/sig/herb/ast/helpers.rbs +3 -0
- data/sig/herb/ast/node.rbs +12 -5
- data/sig/herb/ast/nodes.rbs +124 -62
- data/sig/herb/colors.rbs +35 -0
- data/sig/herb/engine/compiler.rbs +23 -1
- data/sig/herb/errors.rbs +74 -20
- data/sig/herb/token.rbs +8 -0
- data/sig/herb_c_extension.rbs +1 -1
- data/sig/serialized_ast_errors.rbs +8 -0
- data/src/analyze.c +461 -249
- data/src/analyze_helpers.c +5 -0
- data/src/analyze_missing_end.c +147 -0
- data/src/analyze_transform.c +196 -0
- data/src/analyzed_ruby.c +23 -2
- data/src/ast_node.c +14 -17
- data/src/ast_nodes.c +179 -181
- data/src/ast_pretty_print.c +232 -232
- data/src/element_source.c +7 -6
- data/src/errors.c +272 -152
- data/src/extract.c +92 -34
- data/src/herb.c +37 -49
- data/src/html_util.c +34 -96
- data/src/include/analyze.h +10 -2
- data/src/include/analyze_helpers.h +3 -0
- data/src/include/analyzed_ruby.h +4 -2
- data/src/include/ast_node.h +4 -4
- data/src/include/ast_nodes.h +68 -67
- data/src/include/ast_pretty_print.h +2 -2
- data/src/include/element_source.h +3 -1
- data/src/include/errors.h +42 -26
- data/src/include/extract.h +4 -4
- data/src/include/herb.h +6 -7
- data/src/include/html_util.h +4 -5
- data/src/include/lexer.h +1 -3
- data/src/include/lexer_peek_helpers.h +21 -19
- data/src/include/lexer_struct.h +12 -10
- data/src/include/location.h +10 -13
- data/src/include/macros.h +4 -0
- data/src/include/parser.h +12 -6
- data/src/include/parser_helpers.h +26 -16
- data/src/include/position.h +3 -14
- data/src/include/pretty_print.h +38 -28
- data/src/include/prism_helpers.h +1 -1
- data/src/include/range.h +4 -13
- data/src/include/token.h +5 -11
- data/src/include/token_struct.h +2 -2
- data/src/include/utf8.h +3 -2
- data/src/include/util/hb_arena.h +31 -0
- data/src/include/util/hb_arena_debug.h +8 -0
- data/src/include/util/hb_array.h +33 -0
- data/src/include/util/hb_buffer.h +34 -0
- data/src/include/util/hb_string.h +29 -0
- data/src/include/util/hb_system.h +9 -0
- data/src/include/util.h +3 -14
- data/src/include/version.h +1 -1
- data/src/include/visitor.h +1 -1
- data/src/io.c +7 -4
- data/src/lexer.c +62 -88
- data/src/lexer_peek_helpers.c +42 -38
- data/src/location.c +9 -37
- data/src/main.c +19 -23
- data/src/parser.c +373 -313
- data/src/parser_helpers.c +60 -54
- data/src/parser_match_tags.c +316 -0
- data/src/pretty_print.c +88 -117
- data/src/prism_helpers.c +7 -7
- data/src/range.c +2 -35
- data/src/token.c +36 -87
- data/src/utf8.c +4 -4
- data/src/util/hb_arena.c +179 -0
- data/src/util/hb_arena_debug.c +237 -0
- data/src/{array.c → util/hb_array.c} +26 -27
- data/src/util/hb_buffer.c +203 -0
- data/src/util/hb_string.c +85 -0
- data/src/util/hb_system.c +30 -0
- data/src/util.c +29 -99
- data/src/visitor.c +54 -54
- data/templates/ext/herb/error_helpers.c.erb +3 -3
- data/templates/ext/herb/error_helpers.h.erb +1 -1
- data/templates/ext/herb/nodes.c.erb +11 -6
- data/templates/java/error_helpers.c.erb +75 -0
- data/templates/java/error_helpers.h.erb +20 -0
- data/templates/java/nodes.c.erb +97 -0
- data/templates/java/nodes.h.erb +23 -0
- data/templates/java/org/herb/ast/Errors.java.erb +121 -0
- data/templates/java/org/herb/ast/NodeVisitor.java.erb +14 -0
- data/templates/java/org/herb/ast/Nodes.java.erb +220 -0
- data/templates/java/org/herb/ast/Visitor.java.erb +56 -0
- data/templates/javascript/packages/core/src/visitor.ts.erb +29 -1
- data/templates/javascript/packages/node/extension/error_helpers.cpp.erb +8 -8
- data/templates/javascript/packages/node/extension/error_helpers.h.erb +1 -1
- data/templates/javascript/packages/node/extension/nodes.cpp.erb +9 -9
- data/templates/javascript/packages/node/extension/nodes.h.erb +1 -1
- data/templates/lib/herb/ast/nodes.rb.erb +28 -16
- data/templates/lib/herb/errors.rb.erb +17 -12
- data/templates/rust/src/ast/nodes.rs.erb +220 -0
- data/templates/rust/src/errors.rs.erb +216 -0
- data/templates/rust/src/nodes.rs.erb +374 -0
- data/templates/src/analyze_missing_end.c.erb +36 -0
- data/templates/src/analyze_transform.c.erb +24 -0
- data/templates/src/ast_nodes.c.erb +14 -16
- data/templates/src/ast_pretty_print.c.erb +36 -36
- data/templates/src/errors.c.erb +36 -38
- data/templates/src/include/ast_nodes.h.erb +11 -10
- data/templates/src/include/ast_pretty_print.h.erb +2 -2
- data/templates/src/include/errors.h.erb +9 -9
- data/templates/src/parser_match_tags.c.erb +38 -0
- data/templates/src/visitor.c.erb +4 -4
- data/templates/template.rb +22 -3
- data/templates/wasm/error_helpers.cpp.erb +9 -9
- data/templates/wasm/error_helpers.h.erb +1 -1
- data/templates/wasm/nodes.cpp.erb +9 -9
- data/templates/wasm/nodes.h.erb +1 -1
- data/vendor/prism/Rakefile +4 -1
- data/vendor/prism/config.yml +2 -1
- data/vendor/prism/include/prism/ast.h +31 -1
- data/vendor/prism/include/prism/diagnostic.h +1 -0
- data/vendor/prism/include/prism/version.h +3 -3
- data/vendor/prism/src/diagnostic.c +3 -1
- data/vendor/prism/src/prism.c +130 -71
- data/vendor/prism/src/util/pm_string.c +6 -8
- data/vendor/prism/templates/include/prism/ast.h.erb +2 -0
- data/vendor/prism/templates/java/org/prism/Loader.java.erb +2 -2
- data/vendor/prism/templates/javascript/src/deserialize.js.erb +2 -2
- data/vendor/prism/templates/lib/prism/serialize.rb.erb +2 -2
- data/vendor/prism/templates/sig/prism.rbs.erb +4 -0
- data/vendor/prism/templates/src/diagnostic.c.erb +1 -0
- metadata +34 -21
- data/lib/herb/libherb/array.rb +0 -51
- data/lib/herb/libherb/ast_node.rb +0 -50
- data/lib/herb/libherb/buffer.rb +0 -56
- data/lib/herb/libherb/extract_result.rb +0 -20
- data/lib/herb/libherb/lex_result.rb +0 -32
- data/lib/herb/libherb/libherb.rb +0 -52
- data/lib/herb/libherb/parse_result.rb +0 -20
- data/lib/herb/libherb/token.rb +0 -46
- data/lib/herb/libherb.rb +0 -35
- data/src/buffer.c +0 -232
- data/src/include/array.h +0 -33
- data/src/include/buffer.h +0 -39
- data/src/include/json.h +0 -28
- data/src/include/memory.h +0 -12
- data/src/json.c +0 -205
- data/src/memory.c +0 -53
- data/src/position.c +0 -33
data/sig/herb/errors.rbs
CHANGED
|
@@ -24,11 +24,13 @@ module Herb
|
|
|
24
24
|
# : (?untyped) -> String
|
|
25
25
|
def to_json: (?untyped) -> String
|
|
26
26
|
|
|
27
|
-
# : (?Integer) -> String
|
|
28
|
-
def tree_inspect: (?Integer) -> String
|
|
27
|
+
# : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
|
|
28
|
+
def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
class UnexpectedError < Error
|
|
32
|
+
include Colors
|
|
33
|
+
|
|
32
34
|
attr_reader description: String
|
|
33
35
|
|
|
34
36
|
attr_reader expected: String
|
|
@@ -44,11 +46,13 @@ module Herb
|
|
|
44
46
|
# : () -> serialized_unexpected_error
|
|
45
47
|
def to_hash: () -> serialized_unexpected_error
|
|
46
48
|
|
|
47
|
-
# : (?Integer) -> String
|
|
48
|
-
def tree_inspect: (?Integer) -> String
|
|
49
|
+
# : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
|
|
50
|
+
def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
|
|
49
51
|
end
|
|
50
52
|
|
|
51
53
|
class UnexpectedTokenError < Error
|
|
54
|
+
include Colors
|
|
55
|
+
|
|
52
56
|
attr_reader expected_type: String
|
|
53
57
|
|
|
54
58
|
attr_reader found: Herb::Token
|
|
@@ -62,11 +66,13 @@ module Herb
|
|
|
62
66
|
# : () -> serialized_unexpected_token_error
|
|
63
67
|
def to_hash: () -> serialized_unexpected_token_error
|
|
64
68
|
|
|
65
|
-
# : (?Integer) -> String
|
|
66
|
-
def tree_inspect: (?Integer) -> String
|
|
69
|
+
# : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
|
|
70
|
+
def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
|
|
67
71
|
end
|
|
68
72
|
|
|
69
73
|
class MissingOpeningTagError < Error
|
|
74
|
+
include Colors
|
|
75
|
+
|
|
70
76
|
attr_reader closing_tag: Herb::Token
|
|
71
77
|
|
|
72
78
|
# : (String, Location, String, Herb::Token) -> void
|
|
@@ -78,11 +84,13 @@ module Herb
|
|
|
78
84
|
# : () -> serialized_missing_opening_tag_error
|
|
79
85
|
def to_hash: () -> serialized_missing_opening_tag_error
|
|
80
86
|
|
|
81
|
-
# : (?Integer) -> String
|
|
82
|
-
def tree_inspect: (?Integer) -> String
|
|
87
|
+
# : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
|
|
88
|
+
def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
|
|
83
89
|
end
|
|
84
90
|
|
|
85
91
|
class MissingClosingTagError < Error
|
|
92
|
+
include Colors
|
|
93
|
+
|
|
86
94
|
attr_reader opening_tag: Herb::Token
|
|
87
95
|
|
|
88
96
|
# : (String, Location, String, Herb::Token) -> void
|
|
@@ -94,11 +102,13 @@ module Herb
|
|
|
94
102
|
# : () -> serialized_missing_closing_tag_error
|
|
95
103
|
def to_hash: () -> serialized_missing_closing_tag_error
|
|
96
104
|
|
|
97
|
-
# : (?Integer) -> String
|
|
98
|
-
def tree_inspect: (?Integer) -> String
|
|
105
|
+
# : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
|
|
106
|
+
def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
|
|
99
107
|
end
|
|
100
108
|
|
|
101
109
|
class TagNamesMismatchError < Error
|
|
110
|
+
include Colors
|
|
111
|
+
|
|
102
112
|
attr_reader opening_tag: Herb::Token
|
|
103
113
|
|
|
104
114
|
attr_reader closing_tag: Herb::Token
|
|
@@ -112,11 +122,13 @@ module Herb
|
|
|
112
122
|
# : () -> serialized_tag_names_mismatch_error
|
|
113
123
|
def to_hash: () -> serialized_tag_names_mismatch_error
|
|
114
124
|
|
|
115
|
-
# : (?Integer) -> String
|
|
116
|
-
def tree_inspect: (?Integer) -> String
|
|
125
|
+
# : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
|
|
126
|
+
def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
|
|
117
127
|
end
|
|
118
128
|
|
|
119
129
|
class QuotesMismatchError < Error
|
|
130
|
+
include Colors
|
|
131
|
+
|
|
120
132
|
attr_reader opening_quote: Herb::Token
|
|
121
133
|
|
|
122
134
|
attr_reader closing_quote: Herb::Token
|
|
@@ -130,11 +142,13 @@ module Herb
|
|
|
130
142
|
# : () -> serialized_quotes_mismatch_error
|
|
131
143
|
def to_hash: () -> serialized_quotes_mismatch_error
|
|
132
144
|
|
|
133
|
-
# : (?Integer) -> String
|
|
134
|
-
def tree_inspect: (?Integer) -> String
|
|
145
|
+
# : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
|
|
146
|
+
def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
|
|
135
147
|
end
|
|
136
148
|
|
|
137
149
|
class VoidElementClosingTagError < Error
|
|
150
|
+
include Colors
|
|
151
|
+
|
|
138
152
|
attr_reader tag_name: Herb::Token
|
|
139
153
|
|
|
140
154
|
attr_reader expected: String
|
|
@@ -150,11 +164,13 @@ module Herb
|
|
|
150
164
|
# : () -> serialized_void_element_closing_tag_error
|
|
151
165
|
def to_hash: () -> serialized_void_element_closing_tag_error
|
|
152
166
|
|
|
153
|
-
# : (?Integer) -> String
|
|
154
|
-
def tree_inspect: (?Integer) -> String
|
|
167
|
+
# : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
|
|
168
|
+
def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
|
|
155
169
|
end
|
|
156
170
|
|
|
157
171
|
class UnclosedElementError < Error
|
|
172
|
+
include Colors
|
|
173
|
+
|
|
158
174
|
attr_reader opening_tag: Herb::Token
|
|
159
175
|
|
|
160
176
|
# : (String, Location, String, Herb::Token) -> void
|
|
@@ -166,11 +182,13 @@ module Herb
|
|
|
166
182
|
# : () -> serialized_unclosed_element_error
|
|
167
183
|
def to_hash: () -> serialized_unclosed_element_error
|
|
168
184
|
|
|
169
|
-
# : (?Integer) -> String
|
|
170
|
-
def tree_inspect: (?Integer) -> String
|
|
185
|
+
# : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
|
|
186
|
+
def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
|
|
171
187
|
end
|
|
172
188
|
|
|
173
189
|
class RubyParseError < Error
|
|
190
|
+
include Colors
|
|
191
|
+
|
|
174
192
|
attr_reader error_message: String
|
|
175
193
|
|
|
176
194
|
attr_reader diagnostic_id: String
|
|
@@ -186,8 +204,44 @@ module Herb
|
|
|
186
204
|
# : () -> serialized_ruby_parse_error
|
|
187
205
|
def to_hash: () -> serialized_ruby_parse_error
|
|
188
206
|
|
|
189
|
-
# : (?Integer) -> String
|
|
190
|
-
def tree_inspect: (?Integer) -> String
|
|
207
|
+
# : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
|
|
208
|
+
def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
class ERBControlFlowScopeError < Error
|
|
212
|
+
include Colors
|
|
213
|
+
|
|
214
|
+
attr_reader keyword: String
|
|
215
|
+
|
|
216
|
+
# : (String, Location, String, String) -> void
|
|
217
|
+
def initialize: (String, Location, String, String) -> void
|
|
218
|
+
|
|
219
|
+
# : () -> String
|
|
220
|
+
def inspect: () -> String
|
|
221
|
+
|
|
222
|
+
# : () -> serialized_erb_control_flow_scope_error
|
|
223
|
+
def to_hash: () -> serialized_erb_control_flow_scope_error
|
|
224
|
+
|
|
225
|
+
# : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
|
|
226
|
+
def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
|
|
227
|
+
end
|
|
228
|
+
|
|
229
|
+
class MissingERBEndTagError < Error
|
|
230
|
+
include Colors
|
|
231
|
+
|
|
232
|
+
attr_reader keyword: String
|
|
233
|
+
|
|
234
|
+
# : (String, Location, String, String) -> void
|
|
235
|
+
def initialize: (String, Location, String, String) -> void
|
|
236
|
+
|
|
237
|
+
# : () -> String
|
|
238
|
+
def inspect: () -> String
|
|
239
|
+
|
|
240
|
+
# : () -> serialized_missingerb_end_tag_error
|
|
241
|
+
def to_hash: () -> serialized_missingerb_end_tag_error
|
|
242
|
+
|
|
243
|
+
# : (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
|
|
244
|
+
def tree_inspect: (?indent: Integer, ?depth: Integer, ?depth_limit: Integer) -> String
|
|
191
245
|
end
|
|
192
246
|
end
|
|
193
247
|
end
|
data/sig/herb/token.rbs
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
module Herb
|
|
4
4
|
class Token
|
|
5
|
+
include Colors
|
|
6
|
+
|
|
5
7
|
attr_reader value: String
|
|
6
8
|
|
|
7
9
|
attr_reader range: Range
|
|
@@ -25,6 +27,12 @@ module Herb
|
|
|
25
27
|
# : () -> String
|
|
26
28
|
def value_inspect: () -> String
|
|
27
29
|
|
|
30
|
+
# : () -> String
|
|
31
|
+
def colorize_range: () -> String
|
|
32
|
+
|
|
33
|
+
# : (Position) -> String
|
|
34
|
+
def colorize_position: (Position) -> String
|
|
35
|
+
|
|
28
36
|
# : () -> String
|
|
29
37
|
def inspect: () -> String
|
|
30
38
|
end
|
data/sig/herb_c_extension.rbs
CHANGED