mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 17:17:44 +00:00
LibSyntax+Userland: Make LibSyntax not depend on LibGUI
This moves some stuff around to make LibGUI depend on LibSyntax instead of the other way around, as not every application that wishes to do syntax highlighting is necessarily a LibGUI (or even a GUI) application.
This commit is contained in:
parent
2495302991
commit
ba4db899d4
26 changed files with 773 additions and 683 deletions
|
@ -26,8 +26,8 @@ void SyntaxHighlighter::rehighlight(Palette const& palette)
|
|||
auto text = m_client->get_text();
|
||||
|
||||
Vector<Parser::Token> folding_region_start_tokens;
|
||||
Vector<GUI::TextDocumentFoldingRegion> folding_regions;
|
||||
Vector<GUI::TextDocumentSpan> spans;
|
||||
Vector<Syntax::TextDocumentFoldingRegion> folding_regions;
|
||||
Vector<Syntax::TextDocumentSpan> spans;
|
||||
|
||||
auto highlight = [&](auto start_line, auto start_column, auto end_line, auto end_column, Gfx::TextAttributes attributes, CSS::Parser::Token::Type type) {
|
||||
if (start_line > end_line || (start_line == end_line && start_column >= end_column)) {
|
||||
|
@ -36,7 +36,7 @@ void SyntaxHighlighter::rehighlight(Palette const& palette)
|
|||
}
|
||||
dbgln_if(SYNTAX_HIGHLIGHTING_DEBUG, "(CSS::SyntaxHighlighter) highlighting ({}-{}) to ({}-{}) with color {}", start_line, start_column, end_line, end_column, attributes.color);
|
||||
spans.empend(
|
||||
GUI::TextRange {
|
||||
Syntax::TextRange {
|
||||
{ start_line, start_column },
|
||||
{ end_line, end_column },
|
||||
},
|
||||
|
@ -55,7 +55,7 @@ void SyntaxHighlighter::rehighlight(Palette const& palette)
|
|||
} else if (token.is(Parser::Token::Type::CloseCurly)) {
|
||||
if (!folding_region_start_tokens.is_empty()) {
|
||||
auto start_token = folding_region_start_tokens.take_last();
|
||||
GUI::TextDocumentFoldingRegion folding_region;
|
||||
Syntax::TextDocumentFoldingRegion folding_region;
|
||||
folding_region.range.set_start({ start_token.end_position().line, start_token.end_position().column });
|
||||
folding_region.range.set_end({ token.start_position().line, token.start_position().column });
|
||||
folding_regions.append(move(folding_region));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue