File indexing completed on 2024-04-28 04:38:49

0001 /*
0002     SPDX-FileCopyrightText: 2011 Sergey Vidyuk <sir.vestnik@gmail.com>
0003     SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez <aleixpol@kde.org>
0004 
0005     SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0006 */
0007 
0008 #ifndef KDEVPLATFORM_PLUGIN_GITMESSAGEHIGHLIGHTER_H
0009 #define KDEVPLATFORM_PLUGIN_GITMESSAGEHIGHLIGHTER_H
0010 
0011 #include <sonnet/highlighter.h>
0012 
0013 class GitMessageHighlighter : public Sonnet::Highlighter
0014 {
0015     Q_OBJECT
0016 public:
0017     explicit GitMessageHighlighter(QTextEdit* parent);
0018     ~GitMessageHighlighter() override;
0019 
0020 protected:
0021     void highlightBlock(const QString& text) override;
0022 
0023 private:
0024     void applyErrorFormat(GitMessageHighlighter* text, bool warning, const QString& tooltip, int startPos, int endPos);
0025     
0026     enum BlockState {
0027         NoState = -1,
0028         Summary,
0029         SummarySeparator,
0030         DetailedMessage
0031     };
0032 };
0033 
0034 #endif // KDEVPLATFORM_PLUGIN_GITMESSAGEHIGHLIGHTER_H