#pragma once // QCodeEditor #include // Required for inheritance #include #include // Qt #include #include #include class QSyntaxStyle; /** * @brief Class, that describes C++ code * highlighter. */ class QLuaHighlighter : public QStyleSyntaxHighlighter { Q_OBJECT public: /** * @brief Constructor. * @param document Pointer to document. */ explicit QLuaHighlighter(QTextDocument* document=nullptr); protected: void highlightBlock(const QString& text) override; private: QVector m_highlightRules; QVector m_highlightBlockRules; QRegularExpression m_requirePattern; QRegularExpression m_functionPattern; QRegularExpression m_defTypePattern; };