mirror of
https://github.com/Shopify/liquid.git
synced 2026-09-20 11:20:41 -07:00
Merge pull request #1290 from Shopify/document-unknown-tag-refactor
Pass the tag markup and tokenizer to Document#unknown_tag
This commit is contained in:
+2
-2
@@ -28,8 +28,8 @@ module Liquid
|
|||||||
@body.nodelist
|
@body.nodelist
|
||||||
end
|
end
|
||||||
|
|
||||||
def unknown_tag(tag, _params, _tokens)
|
def unknown_tag(tag_name, _markup, _tokenizer)
|
||||||
Block.raise_unknown_tag(tag, block_name, block_delimiter, parse_context)
|
Block.raise_unknown_tag(tag_name, block_name, block_delimiter, parse_context)
|
||||||
end
|
end
|
||||||
|
|
||||||
# @api private
|
# @api private
|
||||||
|
|||||||
+14
-4
@@ -19,16 +19,15 @@ module Liquid
|
|||||||
@body.nodelist
|
@body.nodelist
|
||||||
end
|
end
|
||||||
|
|
||||||
def parse(tokens, parse_context)
|
def parse(tokenizer, parse_context)
|
||||||
@body.parse(tokens, parse_context) do |end_tag_name, _end_tag_params|
|
while parse_body(tokenizer)
|
||||||
unknown_tag(end_tag_name, parse_context) if end_tag_name
|
|
||||||
end
|
end
|
||||||
rescue SyntaxError => e
|
rescue SyntaxError => e
|
||||||
e.line_number ||= parse_context.line_number
|
e.line_number ||= parse_context.line_number
|
||||||
raise
|
raise
|
||||||
end
|
end
|
||||||
|
|
||||||
def unknown_tag(tag, parse_context)
|
def unknown_tag(tag, _markup, _tokenizer)
|
||||||
case tag
|
case tag
|
||||||
when 'else', 'end'
|
when 'else', 'end'
|
||||||
raise SyntaxError, parse_context.locale.t("errors.syntax.unexpected_outer_tag", tag: tag)
|
raise SyntaxError, parse_context.locale.t("errors.syntax.unexpected_outer_tag", tag: tag)
|
||||||
@@ -50,5 +49,16 @@ module Liquid
|
|||||||
def new_body
|
def new_body
|
||||||
parse_context.new_block_body
|
parse_context.new_block_body
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def parse_body(tokenizer)
|
||||||
|
@body.parse(tokenizer, parse_context) do |unknown_tag_name, unknown_tag_markup|
|
||||||
|
if unknown_tag_name
|
||||||
|
unknown_tag(unknown_tag_name, unknown_tag_markup, tokenizer)
|
||||||
|
true
|
||||||
|
else
|
||||||
|
false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user