LibSyntax: Teach each highlighter about it's comment syntax

This commit is contained in:
Kyle Lanmon 2022-10-26 10:01:13 -05:00 committed by Andrew Kaster
parent a8c73998f1
commit 31290c8527
11 changed files with 24 additions and 0 deletions

View file

@ -25,6 +25,9 @@ public:
virtual bool is_navigatable(u64 token) const override;
virtual Syntax::Language language() const override { return Syntax::Language::Cpp; }
virtual Optional<StringView> comment_prefix() const override { return "//"sv; }
virtual Optional<StringView> comment_suffix() const override { return {}; }
virtual void rehighlight(Palette const&) override;
void update_tokens_info(Vector<CodeComprehension::TokenInfo>);

View file

@ -23,6 +23,8 @@ public:
virtual bool is_navigatable(u64) const override;
virtual Syntax::Language language() const override { return Syntax::Language::Cpp; }
virtual Optional<StringView> comment_prefix() const override { return "//"sv; }
virtual Optional<StringView> comment_suffix() const override { return {}; }
virtual void rehighlight(Palette const&) override;
protected:

View file

@ -19,6 +19,8 @@ public:
virtual bool is_identifier(u64) const override;
virtual Syntax::Language language() const override { return Syntax::Language::GML; }
virtual Optional<StringView> comment_prefix() const override { return {}; }
virtual Optional<StringView> comment_suffix() const override { return {}; }
virtual void rehighlight(Palette const&) override;
protected:

View file

@ -17,6 +17,8 @@ public:
virtual ~GitCommitSyntaxHighlighter() override = default;
virtual Syntax::Language language() const override { return Syntax::Language::GitCommit; }
virtual Optional<StringView> comment_prefix() const override { return {}; }
virtual Optional<StringView> comment_suffix() const override { return {}; }
virtual void rehighlight(Palette const&) override;
protected:

View file

@ -19,6 +19,8 @@ public:
virtual bool is_identifier(u64) const override;
virtual Syntax::Language language() const override { return Syntax::Language::INI; }
virtual Optional<StringView> comment_prefix() const override { return ";"sv; }
virtual Optional<StringView> comment_suffix() const override { return {}; }
virtual void rehighlight(Palette const&) override;
protected:

View file

@ -19,6 +19,8 @@ public:
virtual bool is_navigatable(u64) const override;
virtual Syntax::Language language() const override { return Syntax::Language::JavaScript; }
virtual Optional<StringView> comment_prefix() const override { return "//"sv; }
virtual Optional<StringView> comment_suffix() const override { return {}; }
virtual void rehighlight(Palette const&) override;
protected:

View file

@ -19,6 +19,9 @@ public:
virtual bool is_identifier(u64) const override;
virtual Syntax::Language language() const override { return Syntax::Language::SQL; }
virtual Optional<StringView> comment_prefix() const override { return "--"sv; }
virtual Optional<StringView> comment_suffix() const override { return {}; }
virtual void rehighlight(Palette const&) override;
protected:

View file

@ -41,6 +41,8 @@ public:
virtual Language language() const = 0;
StringView language_string(Language) const;
virtual Optional<StringView> comment_prefix() const = 0;
virtual Optional<StringView> comment_suffix() const = 0;
virtual void rehighlight(Palette const&) = 0;
virtual void highlight_matching_token_pair();

View file

@ -19,6 +19,8 @@ public:
virtual bool is_navigatable(u64) const override;
virtual Syntax::Language language() const override { return Syntax::Language::CSS; }
virtual Optional<StringView> comment_prefix() const override { return "/*"sv; }
virtual Optional<StringView> comment_suffix() const override { return "*/"sv; }
virtual void rehighlight(Palette const&) override;
protected:

View file

@ -19,6 +19,8 @@ public:
virtual bool is_navigatable(u64) const override;
virtual Syntax::Language language() const override { return Syntax::Language::HTML; }
virtual Optional<StringView> comment_prefix() const override { return "<!--"sv; }
virtual Optional<StringView> comment_suffix() const override { return "-->"sv; }
virtual void rehighlight(Palette const&) override;
protected:

View file

@ -19,6 +19,8 @@ public:
virtual bool is_navigatable(u64) const override;
virtual Syntax::Language language() const override { return Syntax::Language::Shell; }
virtual Optional<StringView> comment_prefix() const override { return "#"sv; }
virtual Optional<StringView> comment_suffix() const override { return {}; }
virtual void rehighlight(Palette const&) override;
protected: