herb 0.1.1-x86_64-linux-gnu → 0.2.0-x86_64-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 (80) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +20 -2
  3. data/ext/herb/extension.c +46 -14
  4. data/ext/herb/extension.h +9 -0
  5. data/ext/herb/extension_helpers.c +9 -27
  6. data/ext/herb/nodes.c +104 -1
  7. data/herb.gemspec +2 -1
  8. data/lib/herb/3.0/herb.so +0 -0
  9. data/lib/herb/3.1/herb.so +0 -0
  10. data/lib/herb/3.2/herb.so +0 -0
  11. data/lib/herb/3.3/herb.so +0 -0
  12. data/lib/herb/3.4/herb.so +0 -0
  13. data/lib/herb/ast/node.rb +40 -4
  14. data/lib/herb/ast/nodes.rb +892 -140
  15. data/lib/herb/ast.rb +1 -0
  16. data/lib/herb/cli.rb +4 -1
  17. data/lib/herb/errors.rb +84 -33
  18. data/lib/herb/lex_result.rb +4 -1
  19. data/lib/herb/libherb/array.rb +3 -0
  20. data/lib/herb/libherb/ast_node.rb +3 -0
  21. data/lib/herb/libherb/buffer.rb +3 -0
  22. data/lib/herb/libherb/extract_result.rb +3 -0
  23. data/lib/herb/libherb/lex_result.rb +3 -0
  24. data/lib/herb/libherb/libherb.rb +3 -0
  25. data/lib/herb/libherb/parse_result.rb +3 -0
  26. data/lib/herb/libherb/token.rb +3 -0
  27. data/lib/herb/libherb.rb +3 -0
  28. data/lib/herb/location.rb +15 -6
  29. data/lib/herb/parse_result.rb +10 -1
  30. data/lib/herb/position.rb +17 -8
  31. data/lib/herb/project.rb +13 -4
  32. data/lib/herb/range.rb +18 -8
  33. data/lib/herb/result.rb +7 -1
  34. data/lib/herb/token.rb +14 -4
  35. data/lib/herb/token_list.rb +10 -1
  36. data/lib/herb/version.rb +2 -1
  37. data/lib/herb/visitor.rb +175 -0
  38. data/lib/herb/warnings.rb +43 -0
  39. data/lib/herb.rb +6 -1
  40. data/sig/herb/ast/node.rbs +48 -0
  41. data/sig/herb/ast/nodes.rbs +941 -0
  42. data/sig/herb/ast.rbs +6 -0
  43. data/sig/herb/errors.rbs +193 -0
  44. data/sig/herb/lex_result.rbs +16 -0
  45. data/sig/herb/location.rbs +30 -0
  46. data/sig/herb/parse_result.rbs +22 -0
  47. data/sig/herb/position.rbs +30 -0
  48. data/sig/herb/range.rbs +33 -0
  49. data/sig/herb/result.rbs +20 -0
  50. data/sig/herb/token.rbs +31 -0
  51. data/sig/herb/token_list.rbs +13 -0
  52. data/sig/herb/version.rbs +5 -0
  53. data/sig/herb/visitor.rbs +104 -0
  54. data/sig/herb/warnings.rbs +28 -0
  55. data/sig/herb.rbs +4 -0
  56. data/sig/serialized.rbs +9 -0
  57. data/sig/serialized_ast_errors.rbs +53 -0
  58. data/sig/serialized_ast_nodes.rbs +221 -0
  59. data/src/analyze.c +138 -43
  60. data/src/analyze_helpers.c +44 -1
  61. data/src/analyzed_ruby.c +10 -1
  62. data/src/ast_nodes.c +103 -1
  63. data/src/ast_pretty_print.c +60 -0
  64. data/src/buffer.c +60 -27
  65. data/src/extract.c +57 -20
  66. data/src/include/analyze.h +3 -0
  67. data/src/include/analyze_helpers.h +6 -0
  68. data/src/include/analyzed_ruby.h +3 -0
  69. data/src/include/ast_nodes.h +32 -0
  70. data/src/include/buffer.h +5 -2
  71. data/src/include/lexer_peek_helpers.h +2 -2
  72. data/src/include/macros.h +2 -2
  73. data/src/include/version.h +1 -1
  74. data/src/lexer.c +1 -1
  75. data/src/parser.c +17 -7
  76. data/src/token.c +1 -1
  77. data/src/util.c +3 -1
  78. data/src/visitor.c +36 -0
  79. metadata +24 -3
  80. /data/{License.txt → LICENSE.txt} +0 -0
data/sig/herb/ast.rbs ADDED
@@ -0,0 +1,6 @@
1
+ # Generated from lib/herb/ast.rb with RBS::Inline
2
+
3
+ module Herb
4
+ module AST
5
+ end
6
+ end
@@ -0,0 +1,193 @@
1
+ # Generated from lib/herb/errors.rb with RBS::Inline
2
+
3
+ module Herb
4
+ module Errors
5
+ class Error
6
+ attr_reader type: String
7
+
8
+ attr_reader location: Location
9
+
10
+ attr_reader message: String
11
+
12
+ # : (String, Location, String) -> void
13
+ def initialize: (String, Location, String) -> void
14
+
15
+ # : () -> serialized_error
16
+ def to_hash: () -> serialized_error
17
+
18
+ # : () -> String
19
+ def class_name: () -> String
20
+
21
+ # : () -> String
22
+ def error_name: () -> String
23
+
24
+ # : (?untyped) -> String
25
+ def to_json: (?untyped) -> String
26
+
27
+ # : (?Integer) -> String
28
+ def tree_inspect: (?Integer) -> String
29
+ end
30
+
31
+ class UnexpectedError < Error
32
+ attr_reader description: String
33
+
34
+ attr_reader expected: String
35
+
36
+ attr_reader found: String
37
+
38
+ # : (String, Location, String, String, String, String) -> void
39
+ def initialize: (String, Location, String, String, String, String) -> void
40
+
41
+ # : () -> String
42
+ def inspect: () -> String
43
+
44
+ # : () -> serialized_unexpected_error
45
+ def to_hash: () -> serialized_unexpected_error
46
+
47
+ # : (?Integer) -> String
48
+ def tree_inspect: (?Integer) -> String
49
+ end
50
+
51
+ class UnexpectedTokenError < Error
52
+ attr_reader expected_type: String
53
+
54
+ attr_reader found: Herb::Token
55
+
56
+ # : (String, Location, String, String, Herb::Token) -> void
57
+ def initialize: (String, Location, String, String, Herb::Token) -> void
58
+
59
+ # : () -> String
60
+ def inspect: () -> String
61
+
62
+ # : () -> serialized_unexpected_token_error
63
+ def to_hash: () -> serialized_unexpected_token_error
64
+
65
+ # : (?Integer) -> String
66
+ def tree_inspect: (?Integer) -> String
67
+ end
68
+
69
+ class MissingOpeningTagError < Error
70
+ attr_reader closing_tag: Herb::Token
71
+
72
+ # : (String, Location, String, Herb::Token) -> void
73
+ def initialize: (String, Location, String, Herb::Token) -> void
74
+
75
+ # : () -> String
76
+ def inspect: () -> String
77
+
78
+ # : () -> serialized_missing_opening_tag_error
79
+ def to_hash: () -> serialized_missing_opening_tag_error
80
+
81
+ # : (?Integer) -> String
82
+ def tree_inspect: (?Integer) -> String
83
+ end
84
+
85
+ class MissingClosingTagError < Error
86
+ attr_reader opening_tag: Herb::Token
87
+
88
+ # : (String, Location, String, Herb::Token) -> void
89
+ def initialize: (String, Location, String, Herb::Token) -> void
90
+
91
+ # : () -> String
92
+ def inspect: () -> String
93
+
94
+ # : () -> serialized_missing_closing_tag_error
95
+ def to_hash: () -> serialized_missing_closing_tag_error
96
+
97
+ # : (?Integer) -> String
98
+ def tree_inspect: (?Integer) -> String
99
+ end
100
+
101
+ class TagNamesMismatchError < Error
102
+ attr_reader opening_tag: Herb::Token
103
+
104
+ attr_reader closing_tag: Herb::Token
105
+
106
+ # : (String, Location, String, Herb::Token, Herb::Token) -> void
107
+ def initialize: (String, Location, String, Herb::Token, Herb::Token) -> void
108
+
109
+ # : () -> String
110
+ def inspect: () -> String
111
+
112
+ # : () -> serialized_tag_names_mismatch_error
113
+ def to_hash: () -> serialized_tag_names_mismatch_error
114
+
115
+ # : (?Integer) -> String
116
+ def tree_inspect: (?Integer) -> String
117
+ end
118
+
119
+ class QuotesMismatchError < Error
120
+ attr_reader opening_quote: Herb::Token
121
+
122
+ attr_reader closing_quote: Herb::Token
123
+
124
+ # : (String, Location, String, Herb::Token, Herb::Token) -> void
125
+ def initialize: (String, Location, String, Herb::Token, Herb::Token) -> void
126
+
127
+ # : () -> String
128
+ def inspect: () -> String
129
+
130
+ # : () -> serialized_quotes_mismatch_error
131
+ def to_hash: () -> serialized_quotes_mismatch_error
132
+
133
+ # : (?Integer) -> String
134
+ def tree_inspect: (?Integer) -> String
135
+ end
136
+
137
+ class VoidElementClosingTagError < Error
138
+ attr_reader tag_name: Herb::Token
139
+
140
+ attr_reader expected: String
141
+
142
+ attr_reader found: String
143
+
144
+ # : (String, Location, String, Herb::Token, String, String) -> void
145
+ def initialize: (String, Location, String, Herb::Token, String, String) -> void
146
+
147
+ # : () -> String
148
+ def inspect: () -> String
149
+
150
+ # : () -> serialized_void_element_closing_tag_error
151
+ def to_hash: () -> serialized_void_element_closing_tag_error
152
+
153
+ # : (?Integer) -> String
154
+ def tree_inspect: (?Integer) -> String
155
+ end
156
+
157
+ class UnclosedElementError < Error
158
+ attr_reader opening_tag: Herb::Token
159
+
160
+ # : (String, Location, String, Herb::Token) -> void
161
+ def initialize: (String, Location, String, Herb::Token) -> void
162
+
163
+ # : () -> String
164
+ def inspect: () -> String
165
+
166
+ # : () -> serialized_unclosed_element_error
167
+ def to_hash: () -> serialized_unclosed_element_error
168
+
169
+ # : (?Integer) -> String
170
+ def tree_inspect: (?Integer) -> String
171
+ end
172
+
173
+ class RubyParseError < Error
174
+ attr_reader error_message: String
175
+
176
+ attr_reader diagnostic_id: String
177
+
178
+ attr_reader level: String
179
+
180
+ # : (String, Location, String, String, String, String) -> void
181
+ def initialize: (String, Location, String, String, String, String) -> void
182
+
183
+ # : () -> String
184
+ def inspect: () -> String
185
+
186
+ # : () -> serialized_ruby_parse_error
187
+ def to_hash: () -> serialized_ruby_parse_error
188
+
189
+ # : (?Integer) -> String
190
+ def tree_inspect: (?Integer) -> String
191
+ end
192
+ end
193
+ end
@@ -0,0 +1,16 @@
1
+ # Generated from lib/herb/lex_result.rb with RBS::Inline
2
+
3
+ module Herb
4
+ class LexResult < Result
5
+ attr_reader value: TokenList
6
+
7
+ # : (Array[Herb::Token], String, Array[Herb::Warnings::Warning], Array[Herb::Errors::Error]) -> void
8
+ def initialize: (Array[Herb::Token], String, Array[Herb::Warnings::Warning], Array[Herb::Errors::Error]) -> void
9
+
10
+ # : () -> bool
11
+ def success?: () -> bool
12
+
13
+ # : () -> bool
14
+ def failed?: () -> bool
15
+ end
16
+ end
@@ -0,0 +1,30 @@
1
+ # Generated from lib/herb/location.rb with RBS::Inline
2
+
3
+ module Herb
4
+ class Location
5
+ attr_reader start: Position
6
+
7
+ attr_reader end: Position
8
+
9
+ # : (Position, Position) -> void
10
+ def initialize: (Position, Position) -> void
11
+
12
+ # : (Integer, Integer, Integer, Integer) -> Location
13
+ def self.from: (Integer, Integer, Integer, Integer) -> Location
14
+
15
+ # : (Integer, Integer, Integer, Integer) -> Location
16
+ def self.[]: (Integer, Integer, Integer, Integer) -> Location
17
+
18
+ # : () -> serialized_location
19
+ def to_hash: () -> serialized_location
20
+
21
+ # : (?untyped) -> String
22
+ def to_json: (?untyped) -> String
23
+
24
+ # : () -> String
25
+ def tree_inspect: () -> String
26
+
27
+ # : () -> String
28
+ def inspect: () -> String
29
+ end
30
+ end
@@ -0,0 +1,22 @@
1
+ # Generated from lib/herb/parse_result.rb with RBS::Inline
2
+
3
+ module Herb
4
+ class ParseResult < Result
5
+ attr_reader value: Herb::AST::DocumentNode
6
+
7
+ # : (Herb::AST::DocumentNode, String, Array[Herb::Warnings::Warning], Array[Herb::Errors::Error]) -> void
8
+ def initialize: (Herb::AST::DocumentNode, String, Array[Herb::Warnings::Warning], Array[Herb::Errors::Error]) -> void
9
+
10
+ # : () -> bool
11
+ def failed?: () -> bool
12
+
13
+ # : () -> bool
14
+ def success?: () -> bool
15
+
16
+ # : () -> String
17
+ def pretty_errors: () -> String
18
+
19
+ # : (Visitor) -> void
20
+ def visit: (Visitor) -> void
21
+ end
22
+ end
@@ -0,0 +1,30 @@
1
+ # Generated from lib/herb/position.rb with RBS::Inline
2
+
3
+ module Herb
4
+ class Position
5
+ attr_reader line: Integer
6
+
7
+ attr_reader column: Integer
8
+
9
+ # : (Integer, Integer) -> void
10
+ def initialize: (Integer, Integer) -> void
11
+
12
+ # : (Integer, Integer) -> Position
13
+ def self.[]: (Integer, Integer) -> Position
14
+
15
+ # : (Integer, Integer) -> Position
16
+ def self.from: (Integer, Integer) -> Position
17
+
18
+ # : () -> serialized_position
19
+ def to_hash: () -> serialized_position
20
+
21
+ # : (?untyped) -> String
22
+ def to_json: (?untyped) -> String
23
+
24
+ # : () -> String
25
+ def tree_inspect: () -> String
26
+
27
+ # : () -> String
28
+ def inspect: () -> String
29
+ end
30
+ end
@@ -0,0 +1,33 @@
1
+ # Generated from lib/herb/range.rb with RBS::Inline
2
+
3
+ module Herb
4
+ class Range
5
+ attr_reader from: Integer
6
+
7
+ attr_reader to: Integer
8
+
9
+ # : (Integer, Integer) -> void
10
+ def initialize: (Integer, Integer) -> void
11
+
12
+ # : (Integer, Integer) -> Range
13
+ def self.[]: (Integer, Integer) -> Range
14
+
15
+ # : (Integer, Integer) -> Range
16
+ def self.from: (Integer, Integer) -> Range
17
+
18
+ # : () -> serialized_range
19
+ def to_a: () -> serialized_range
20
+
21
+ # : (?untyped) -> String
22
+ def to_json: (?untyped) -> String
23
+
24
+ # : () -> String
25
+ def tree_inspect: () -> String
26
+
27
+ # : () -> String
28
+ def inspect: () -> String
29
+
30
+ # : () -> String
31
+ def to_s: () -> String
32
+ end
33
+ end
@@ -0,0 +1,20 @@
1
+ # Generated from lib/herb/result.rb with RBS::Inline
2
+
3
+ module Herb
4
+ class Result
5
+ attr_reader source: String
6
+
7
+ attr_reader warnings: Array[Herb::Warnings::Warning]
8
+
9
+ attr_reader errors: Array[Herb::Errors::Error]
10
+
11
+ # : (String, Array[Herb::Warnings::Warning], Array[Herb::Errors::Error]) -> void
12
+ def initialize: (String, Array[Herb::Warnings::Warning], Array[Herb::Errors::Error]) -> void
13
+
14
+ # : () -> bool
15
+ def success?: () -> bool
16
+
17
+ # : () -> bool
18
+ def failed?: () -> bool
19
+ end
20
+ end
@@ -0,0 +1,31 @@
1
+ # Generated from lib/herb/token.rb with RBS::Inline
2
+
3
+ module Herb
4
+ class Token
5
+ attr_reader value: String
6
+
7
+ attr_reader range: Range
8
+
9
+ attr_reader location: Location
10
+
11
+ attr_reader type: String
12
+
13
+ # : (String, Range, Location, String) -> void
14
+ def initialize: (String, Range, Location, String) -> void
15
+
16
+ # : () -> serialized_token
17
+ def to_hash: () -> serialized_token
18
+
19
+ # : (?untyped) -> String
20
+ def to_json: (?untyped) -> String
21
+
22
+ # : () -> String
23
+ def tree_inspect: () -> String
24
+
25
+ # : () -> String
26
+ def value_inspect: () -> String
27
+
28
+ # : () -> String
29
+ def inspect: () -> String
30
+ end
31
+ end
@@ -0,0 +1,13 @@
1
+ # Generated from lib/herb/token_list.rb with RBS::Inline
2
+
3
+ module Herb
4
+ class TokenList < SimpleDelegator
5
+ # : () -> String
6
+ def inspect: () -> String
7
+
8
+ private
9
+
10
+ # : () -> Array[Token]
11
+ def items: () -> Array[Token]
12
+ end
13
+ end
@@ -0,0 +1,5 @@
1
+ # Generated from lib/herb/version.rb with RBS::Inline
2
+
3
+ module Herb
4
+ VERSION: ::String
5
+ end
@@ -0,0 +1,104 @@
1
+ # Generated from lib/herb/visitor.rb with RBS::Inline
2
+
3
+ module Herb
4
+ class Visitor
5
+ # : (Herb::AST::Node) -> void
6
+ def visit: (Herb::AST::Node) -> void
7
+
8
+ # : (Array[Herb::AST::Node]) -> void
9
+ def visit_all: (Array[Herb::AST::Node]) -> void
10
+
11
+ # : (Herb::AST::Node) -> void
12
+ def visit_child_nodes: (Herb::AST::Node) -> void
13
+
14
+ # : (Herb::AST::DocumentNode) -> void
15
+ def visit_document_node: (Herb::AST::DocumentNode) -> void
16
+
17
+ # : (Herb::AST::LiteralNode) -> void
18
+ def visit_literal_node: (Herb::AST::LiteralNode) -> void
19
+
20
+ # : (Herb::AST::HTMLOpenTagNode) -> void
21
+ def visit_html_open_tag_node: (Herb::AST::HTMLOpenTagNode) -> void
22
+
23
+ # : (Herb::AST::HTMLCloseTagNode) -> void
24
+ def visit_html_close_tag_node: (Herb::AST::HTMLCloseTagNode) -> void
25
+
26
+ # : (Herb::AST::HTMLSelfCloseTagNode) -> void
27
+ def visit_html_self_close_tag_node: (Herb::AST::HTMLSelfCloseTagNode) -> void
28
+
29
+ # : (Herb::AST::HTMLElementNode) -> void
30
+ def visit_html_element_node: (Herb::AST::HTMLElementNode) -> void
31
+
32
+ # : (Herb::AST::HTMLAttributeValueNode) -> void
33
+ def visit_html_attribute_value_node: (Herb::AST::HTMLAttributeValueNode) -> void
34
+
35
+ # : (Herb::AST::HTMLAttributeNameNode) -> void
36
+ def visit_html_attribute_name_node: (Herb::AST::HTMLAttributeNameNode) -> void
37
+
38
+ # : (Herb::AST::HTMLAttributeNode) -> void
39
+ def visit_html_attribute_node: (Herb::AST::HTMLAttributeNode) -> void
40
+
41
+ # : (Herb::AST::HTMLTextNode) -> void
42
+ def visit_html_text_node: (Herb::AST::HTMLTextNode) -> void
43
+
44
+ # : (Herb::AST::HTMLCommentNode) -> void
45
+ def visit_html_comment_node: (Herb::AST::HTMLCommentNode) -> void
46
+
47
+ # : (Herb::AST::HTMLDoctypeNode) -> void
48
+ def visit_html_doctype_node: (Herb::AST::HTMLDoctypeNode) -> void
49
+
50
+ # : (Herb::AST::WhitespaceNode) -> void
51
+ def visit_whitespace_node: (Herb::AST::WhitespaceNode) -> void
52
+
53
+ # : (Herb::AST::ERBContentNode) -> void
54
+ def visit_erb_content_node: (Herb::AST::ERBContentNode) -> void
55
+
56
+ # : (Herb::AST::ERBEndNode) -> void
57
+ def visit_erb_end_node: (Herb::AST::ERBEndNode) -> void
58
+
59
+ # : (Herb::AST::ERBElseNode) -> void
60
+ def visit_erb_else_node: (Herb::AST::ERBElseNode) -> void
61
+
62
+ # : (Herb::AST::ERBIfNode) -> void
63
+ def visit_erb_if_node: (Herb::AST::ERBIfNode) -> void
64
+
65
+ # : (Herb::AST::ERBBlockNode) -> void
66
+ def visit_erb_block_node: (Herb::AST::ERBBlockNode) -> void
67
+
68
+ # : (Herb::AST::ERBWhenNode) -> void
69
+ def visit_erb_when_node: (Herb::AST::ERBWhenNode) -> void
70
+
71
+ # : (Herb::AST::ERBCaseNode) -> void
72
+ def visit_erb_case_node: (Herb::AST::ERBCaseNode) -> void
73
+
74
+ # : (Herb::AST::ERBCaseMatchNode) -> void
75
+ def visit_erb_case_match_node: (Herb::AST::ERBCaseMatchNode) -> void
76
+
77
+ # : (Herb::AST::ERBWhileNode) -> void
78
+ def visit_erb_while_node: (Herb::AST::ERBWhileNode) -> void
79
+
80
+ # : (Herb::AST::ERBUntilNode) -> void
81
+ def visit_erb_until_node: (Herb::AST::ERBUntilNode) -> void
82
+
83
+ # : (Herb::AST::ERBForNode) -> void
84
+ def visit_erb_for_node: (Herb::AST::ERBForNode) -> void
85
+
86
+ # : (Herb::AST::ERBRescueNode) -> void
87
+ def visit_erb_rescue_node: (Herb::AST::ERBRescueNode) -> void
88
+
89
+ # : (Herb::AST::ERBEnsureNode) -> void
90
+ def visit_erb_ensure_node: (Herb::AST::ERBEnsureNode) -> void
91
+
92
+ # : (Herb::AST::ERBBeginNode) -> void
93
+ def visit_erb_begin_node: (Herb::AST::ERBBeginNode) -> void
94
+
95
+ # : (Herb::AST::ERBUnlessNode) -> void
96
+ def visit_erb_unless_node: (Herb::AST::ERBUnlessNode) -> void
97
+
98
+ # : (Herb::AST::ERBYieldNode) -> void
99
+ def visit_erb_yield_node: (Herb::AST::ERBYieldNode) -> void
100
+
101
+ # : (Herb::AST::ERBInNode) -> void
102
+ def visit_erb_in_node: (Herb::AST::ERBInNode) -> void
103
+ end
104
+ end
@@ -0,0 +1,28 @@
1
+ # Generated from lib/herb/warnings.rb with RBS::Inline
2
+
3
+ module Herb
4
+ module Warnings
5
+ class Warning
6
+ attr_reader type: String
7
+
8
+ attr_reader location: Location
9
+
10
+ attr_reader message: String
11
+
12
+ # : (String, Location, String) -> void
13
+ def initialize: (String, Location, String) -> void
14
+
15
+ # : () -> serialized_warning
16
+ def to_hash: () -> serialized_warning
17
+
18
+ # : () -> String
19
+ def class_name: () -> String
20
+
21
+ # : () -> String
22
+ def warning_name: () -> String
23
+
24
+ # : (?untyped) -> String
25
+ def to_json: (?untyped) -> String
26
+ end
27
+ end
28
+ end
data/sig/herb.rbs ADDED
@@ -0,0 +1,4 @@
1
+ # Generated from lib/herb.rb with RBS::Inline
2
+
3
+ module Herb
4
+ end
@@ -0,0 +1,9 @@
1
+ module Herb
2
+ type serialized_position = { line: Integer, column: Integer }
3
+ type serialized_location = { start: serialized_position, end: serialized_position }
4
+ type serialized_error = { type: String, location: serialized_location?, message: String }
5
+ type serialized_warning = { type: String, location: serialized_location?, message: String }
6
+ type serialized_range = [Integer, Integer]
7
+ type serialized_node = { type: String, location: serialized_location?, errors: Array[serialized_error] }
8
+ type serialized_token = { value: String, range: serialized_range?, location: serialized_location?, type: String }
9
+ end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+ # typed: true
3
+
4
+ # NOTE: This file is generated by the templates/template.rb script and should not be
5
+ # modified manually. See /Users/marcoroth/Development/herb-release/templates/sig/serialized_ast_errors.rbs.erb
6
+
7
+ module Herb
8
+ type serialized_unexpected_error = serialized_error & {
9
+ description: String,
10
+ expected: String,
11
+ found: String,
12
+ }
13
+
14
+ type serialized_unexpected_token_error = serialized_error & {
15
+ expected_type: String,
16
+ found: Herb::Token,
17
+ }
18
+
19
+ type serialized_missing_opening_tag_error = serialized_error & {
20
+ closing_tag: Herb::Token,
21
+ }
22
+
23
+ type serialized_missing_closing_tag_error = serialized_error & {
24
+ opening_tag: Herb::Token,
25
+ }
26
+
27
+ type serialized_tag_names_mismatch_error = serialized_error & {
28
+ opening_tag: Herb::Token,
29
+ closing_tag: Herb::Token,
30
+ }
31
+
32
+ type serialized_quotes_mismatch_error = serialized_error & {
33
+ opening_quote: Herb::Token,
34
+ closing_quote: Herb::Token,
35
+ }
36
+
37
+ type serialized_void_element_closing_tag_error = serialized_error & {
38
+ tag_name: Herb::Token,
39
+ expected: String,
40
+ found: String,
41
+ }
42
+
43
+ type serialized_unclosed_element_error = serialized_error & {
44
+ opening_tag: Herb::Token,
45
+ }
46
+
47
+ type serialized_ruby_parse_error = serialized_error & {
48
+ error_message: String,
49
+ diagnostic_id: String,
50
+ level: String,
51
+ }
52
+
53
+ end