diff --git a/Userland/Libraries/LibWeb/HTML/SyntaxHighlighter/SyntaxHighlighter.cpp b/Userland/Libraries/LibWeb/HTML/SyntaxHighlighter/SyntaxHighlighter.cpp
index 29bd0fdcfa..48759ff842 100644
--- a/Userland/Libraries/LibWeb/HTML/SyntaxHighlighter/SyntaxHighlighter.cpp
+++ b/Userland/Libraries/LibWeb/HTML/SyntaxHighlighter/SyntaxHighlighter.cpp
@@ -1,9 +1,11 @@
/*
* Copyright (c) 2021, Ali Mohammad Pur
+ * Copyright (c) 2021, Max Wipfli
*
* SPDX-License-Identifier: BSD-2-Clause
*/
+#include
#include
#include
@@ -30,13 +32,15 @@ bool SyntaxHighlighter::is_navigatable(void*) const
return false;
}
-void SyntaxHighlighter::rehighlight(const Palette& palette)
+void SyntaxHighlighter::rehighlight(Palette const& palette)
{
+ dbgln_if(SYNTAX_HIGHLIGHTING_DEBUG, "(HTML::SyntaxHighlighter) starting rehighlight");
(void)palette;
auto text = m_client->get_text();
Vector spans;
auto highlight = [&](auto start_line, auto start_column, auto end_line, auto end_column, Gfx::TextAttributes attributes, AugmentedTokenKind kind) {
+ dbgln_if(SYNTAX_HIGHLIGHTING_DEBUG, "(HTML::SyntaxHighlighter) highlighting ({}-{}) to ({}-{}) with color {}", start_line, start_column, end_line, end_column, attributes.color);
spans.empend(
GUI::TextRange {
{ start_line, start_column },
@@ -57,6 +61,7 @@ void SyntaxHighlighter::rehighlight(const Palette& palette)
auto token = tokenizer.next_token();
if (!token.has_value())
break;
+ dbgln_if(SYNTAX_HIGHLIGHTING_DEBUG, "(HTML::SyntaxHighlighter) got token of type {}", token->to_string());
if (token->is_start_tag()) {
if (token->tag_name() == "script"sv) {
@@ -124,6 +129,13 @@ void SyntaxHighlighter::rehighlight(const Palette& palette)
}
}
+ if constexpr (SYNTAX_HIGHLIGHTING_DEBUG) {
+ dbgln("(HTML::SyntaxHighlighter) list of all spans:");
+ for (auto& span : spans)
+ dbgln("{}, {}", span.range, span.attributes.color);
+ dbgln("(HTML::SyntaxHighlighter) end of list");
+ }
+
m_client->do_set_spans(move(spans));
m_has_brace_buddies = false;
highlight_matching_token_pair();
diff --git a/Userland/Libraries/LibWeb/HTML/SyntaxHighlighter/SyntaxHighlighter.h b/Userland/Libraries/LibWeb/HTML/SyntaxHighlighter/SyntaxHighlighter.h
index 067c3c6677..6d412c940a 100644
--- a/Userland/Libraries/LibWeb/HTML/SyntaxHighlighter/SyntaxHighlighter.h
+++ b/Userland/Libraries/LibWeb/HTML/SyntaxHighlighter/SyntaxHighlighter.h
@@ -19,7 +19,7 @@ public:
virtual bool is_navigatable(void*) const override;
virtual Syntax::Language language() const override { return Syntax::Language::HTML; }
- virtual void rehighlight(const Palette&) override;
+ virtual void rehighlight(Palette const&) override;
protected:
virtual Vector matching_token_pairs() const override;