mirror of
https://github.com/RGBCube/serenity
synced 2025-05-14 20:04:59 +00:00
LibWeb: Change a few source end positions in HTMLTokenizer
This patch aims to fix wrong highlighting for some cases in HTML's syntax highlighter. The values were somewhat experimentally determined are are subject to change. Regardless, it should be more correct with this patch than without it. :^)
This commit is contained in:
parent
44c438d0ca
commit
282a623853
1 changed files with 8 additions and 5 deletions
|
@ -276,6 +276,7 @@ _StartOfFunction:
|
|||
{
|
||||
log_parse_error();
|
||||
create_new_token(HTMLToken::Type::Comment);
|
||||
m_current_token.m_start_position = nth_last_position(2);
|
||||
RECONSUME_IN(BogusComment);
|
||||
}
|
||||
ON_EOF
|
||||
|
@ -301,7 +302,7 @@ _StartOfFunction:
|
|||
}
|
||||
ON('/')
|
||||
{
|
||||
m_current_token.m_end_position = nth_last_position(1);
|
||||
m_current_token.m_end_position = nth_last_position(0);
|
||||
SWITCH_TO(SelfClosingStartTag);
|
||||
}
|
||||
ON('>')
|
||||
|
@ -325,7 +326,7 @@ _StartOfFunction:
|
|||
ON_EOF
|
||||
{
|
||||
log_parse_error();
|
||||
m_current_token.m_end_position = nth_last_position(1);
|
||||
m_current_token.m_end_position = nth_last_position(0);
|
||||
EMIT_EOF;
|
||||
}
|
||||
ANYTHING_ELSE
|
||||
|
@ -370,6 +371,7 @@ _StartOfFunction:
|
|||
DONT_CONSUME_NEXT_INPUT_CHARACTER;
|
||||
if (consume_next_if_match("--")) {
|
||||
create_new_token(HTMLToken::Type::Comment);
|
||||
m_current_token.m_start_position = nth_last_position(4);
|
||||
SWITCH_TO(CommentStart);
|
||||
}
|
||||
if (consume_next_if_match("DOCTYPE", CaseSensitivity::CaseInsensitive)) {
|
||||
|
@ -1053,6 +1055,7 @@ _StartOfFunction:
|
|||
}
|
||||
ON('=')
|
||||
{
|
||||
m_current_token.m_tag.attributes.last().name_end_position = nth_last_position(1);
|
||||
SWITCH_TO(BeforeAttributeValue);
|
||||
}
|
||||
ON_ASCII_UPPER_ALPHA
|
||||
|
@ -1214,7 +1217,7 @@ _StartOfFunction:
|
|||
{
|
||||
ON_WHITESPACE
|
||||
{
|
||||
m_current_token.m_tag.attributes.last().value_end_position = nth_last_position(2);
|
||||
m_current_token.m_tag.attributes.last().value_end_position = nth_last_position(1);
|
||||
SWITCH_TO(BeforeAttributeName);
|
||||
}
|
||||
ON('&')
|
||||
|
@ -1224,7 +1227,7 @@ _StartOfFunction:
|
|||
}
|
||||
ON('>')
|
||||
{
|
||||
m_current_token.m_tag.attributes.last().value_end_position = nth_last_position(2);
|
||||
m_current_token.m_tag.attributes.last().value_end_position = nth_last_position(1);
|
||||
SWITCH_TO_AND_EMIT_CURRENT_TOKEN(Data);
|
||||
}
|
||||
ON(0)
|
||||
|
@ -1274,7 +1277,7 @@ _StartOfFunction:
|
|||
|
||||
BEGIN_STATE(AfterAttributeValueQuoted)
|
||||
{
|
||||
m_current_token.m_tag.attributes.last().value_end_position = nth_last_position(2);
|
||||
m_current_token.m_tag.attributes.last().value_end_position = nth_last_position(1);
|
||||
ON_WHITESPACE
|
||||
{
|
||||
SWITCH_TO(BeforeAttributeName);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue