From 73c781e9856ba13e397418a9eed2c7c7a3daec1d Mon Sep 17 00:00:00 2001 From: hachem Date: Sat, 29 Aug 2026 22:33:29 +0200 Subject: feat: syntax highlighting --- src/ui/source_view.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/ui/source_view.h') diff --git a/src/ui/source_view.h b/src/ui/source_view.h index 94855e8..d3b3ed5 100644 --- a/src/ui/source_view.h +++ b/src/ui/source_view.h @@ -11,6 +11,26 @@ namespace Hsdbg { class Debugger; + // one coloured run inside a source line; start and length index into the + // line's own string so the spans stay valid as long as the line does + enum class SyntaxKind : uint8_t + { + Default, + Keyword, + Type, + String, + Number, + Comment, + Preprocessor, + }; + + struct SourceSpan + { + uint32_t start; + uint32_t length; + SyntaxKind kind; + }; + class SourceView { public: @@ -31,6 +51,8 @@ namespace Hsdbg std::filesystem::path m_path; std::vector m_lines; + std::vector> m_spans; + bool m_highlight = false; std::string m_path_input; std::string m_error; uint32_t m_highlighted_line = 0; -- cgit v1.3