From 93d830b5cccb71c4f015e25ba0cd63a20c4307b0 Mon Sep 17 00:00:00 2001 From: Max Wipfli Date: Fri, 4 Jun 2021 11:25:09 +0200 Subject: [PATCH] LibWeb: Add debugging statements in SyntaxHighlighter This also changes SyntaxHighlighter.{h,cpp} to use east const style. --- .../HTML/SyntaxHighlighter/SyntaxHighlighter.cpp | 14 +++++++++++++- .../HTML/SyntaxHighlighter/SyntaxHighlighter.h | 2 +- 2 files changed, 14 insertions(+), 2 deletions(-) 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;