Serenity Operating System
1/*
2 * Copyright (c) 2022, Brian Gianforcaro <bgianf@serenityos.org>
3 * Copyright (c) 2022, the SerenityOS developers.
4 *
5 * SPDX-License-Identifier: BSD-2-Clause
6 */
7
8#pragma once
9
10#include <LibSyntax/Highlighter.h>
11
12namespace GUI {
13
14class GitCommitSyntaxHighlighter final : public Syntax::Highlighter {
15public:
16 GitCommitSyntaxHighlighter() = default;
17 virtual ~GitCommitSyntaxHighlighter() override = default;
18
19 virtual Syntax::Language language() const override { return Syntax::Language::GitCommit; }
20 virtual Optional<StringView> comment_prefix() const override { return {}; }
21 virtual Optional<StringView> comment_suffix() const override { return {}; }
22 virtual void rehighlight(Palette const&) override;
23
24protected:
25 virtual Vector<MatchingTokenPair> matching_token_pairs_impl() const override;
26 virtual bool token_types_equal(u64, u64) const override;
27};
28
29}