mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-03-22 21:37:22 +00:00
LibWeb: Track the byte offset of an HTMLToken's position
We currently track the [line, column] position of every HTMLToken, as this is what is needed for LibGUI's syntax highlighting. Some non-LibGUI purposes (e.g. highlighting HTML with HTML) require a byte offset. Track both during tokenization.
This commit is contained in:
@@ -37,6 +37,7 @@ public:
|
||||
struct Position {
|
||||
size_t line { 0 };
|
||||
size_t column { 0 };
|
||||
size_t byte_offset { 0 };
|
||||
};
|
||||
|
||||
struct Attribute {
|
||||
|
||||
@@ -223,6 +223,7 @@ void HTMLTokenizer::skip(size_t count)
|
||||
} else {
|
||||
m_source_positions.last().column++;
|
||||
}
|
||||
m_source_positions.last().byte_offset += m_utf8_iterator.underlying_code_point_length_in_bytes();
|
||||
}
|
||||
++m_utf8_iterator;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user