1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 04:57:44 +00:00

LibGUI+HackStudio: Move syntax highlighting from HackStudio to LibGUI

This patch introduces the GUI::SyntaxHighlighter class, which can be
attached to a GUI::TextEditor to provide syntax highlighting.

The C++ syntax highlighting from HackStudio becomes a new class called
GUI::CppSyntaxHighlighter. This will make it possible to get C++ syntax
highlighting in any app that uses a GUI::TextEditor. :^)

Sidenote: It does feel a bit weird having a C++ lexer in a GUI toolkit
library, and we'll probably end up moving this out to a separate place
as this functionality grows larger.
This commit is contained in:
Andreas Kling 2020-02-07 20:07:15 +01:00
parent 6cf49c23d4
commit bb8e65be41
13 changed files with 277 additions and 170 deletions

View file

@ -0,0 +1,16 @@
#pragma once
#include <LibGUI/SyntaxHighlighter.h>
namespace GUI {
class CppSyntaxHighlighter final : public SyntaxHighlighter {
public:
CppSyntaxHighlighter() {}
virtual ~CppSyntaxHighlighter() override;
virtual void rehighlight() override;
virtual void highlight_matching_token_pair() override;
};
}