@@ -76,7 +76,7 @@ impl Parser {
7676 tag. to_string ( ) ,
7777 ) ) )
7878 }
79- TokenType :: HtmlTagOpen ( s) => self . parse_html_tag_open ( s) ,
79+ TokenType :: HtmlTagOpen ( s) => self . parse_tag_open ( s) ,
8080 TokenType :: HtmlTagVoid ( s) => self . parse_html_tag_void ( s) ,
8181 TokenType :: Newline => self . next_node ( ) ,
8282 TokenType :: ScriptTagClose ( _) => {
@@ -85,14 +85,14 @@ impl Parser {
8585 "script" . to_string ( ) ,
8686 ) ) )
8787 }
88- TokenType :: ScriptTagOpen ( s) => self . parse_script_tag_open ( s) ,
88+ TokenType :: ScriptTagOpen ( s) => self . parse_tag_open ( s) ,
8989 TokenType :: StyleTagClose ( _) => {
9090 self . backtrack ( 1 ) ?;
9191 Err ( ParserError :: ErrorSignal ( Signal :: ClosingTagFound (
9292 "style" . to_string ( ) ,
9393 ) ) )
9494 }
95- TokenType :: StyleTagOpen ( s) => self . parse_style_tag_open ( s) ,
95+ TokenType :: StyleTagOpen ( s) => self . parse_tag_open ( s) ,
9696 TokenType :: Text ( s) => Ok ( Node :: Text ( s. to_string ( ) ) ) ,
9797 TokenType :: Whitespace ( _) => self . next_node ( ) ,
9898 } ?;
@@ -274,10 +274,10 @@ impl Parser {
274274 Ok ( Node :: Django ( DjangoNode :: Variable { bits, filters } ) )
275275 }
276276
277- fn parse_tag_open ( & mut self , s : & str , token_type : & TokenType ) -> Result < Node , ParserError > {
277+ fn parse_tag_open ( & mut self , s : & str ) -> Result < Node , ParserError > {
278+ let token_type = self . peek_previous ( ) ?. token_type ( ) . clone ( ) ;
278279 let mut parts = s. split_whitespace ( ) ;
279280
280- // Only HTML needs the tag name from the input
281281 let tag_name = match token_type {
282282 TokenType :: HtmlTagOpen ( _) => {
283283 let name = parts
@@ -348,18 +348,6 @@ impl Parser {
348348 } )
349349 }
350350
351- fn parse_html_tag_open ( & mut self , s : & str ) -> Result < Node , ParserError > {
352- self . parse_tag_open ( s, & TokenType :: HtmlTagOpen ( String :: new ( ) ) )
353- }
354-
355- fn parse_script_tag_open ( & mut self , s : & str ) -> Result < Node , ParserError > {
356- self . parse_tag_open ( s, & TokenType :: ScriptTagOpen ( String :: new ( ) ) )
357- }
358-
359- fn parse_style_tag_open ( & mut self , s : & str ) -> Result < Node , ParserError > {
360- self . parse_tag_open ( s, & TokenType :: StyleTagOpen ( String :: new ( ) ) )
361- }
362-
363351 fn parse_html_tag_void ( & mut self , s : & str ) -> Result < Node , ParserError > {
364352 let mut parts = s. split_whitespace ( ) ;
365353
0 commit comments