diff options
Diffstat (limited to 'src/highlighter.h')
-rw-r--r-- | src/highlighter.h | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/src/highlighter.h b/src/highlighter.h index 1bd54d2..b4ffae8 100644 --- a/src/highlighter.h +++ b/src/highlighter.h @@ -2,20 +2,27 @@ #define HIGHLIGHTER_H_ #include <QSyntaxHighlighter> - -#ifdef _QCODE_EDIT_ -#include "qdocument.h" -#endif +#include <QTextFormat> +#include <QHash> class Highlighter : public QSyntaxHighlighter { public: -#ifdef _QCODE_EDIT_ - Highlighter(QDocument *parent); -#else + enum state_e {NORMAL=-1,QUOTE,COMMENT}; + QHash<QString, QTextCharFormat> tokenFormats; + QTextCharFormat errorFormat, commentFormat, quoteFormat, numberFormat; Highlighter(QTextDocument *parent); -#endif void highlightBlock(const QString &text); + void highlightError(int error_pos); + void unhighlightLastError(); +private: + QTextBlock lastErrorBlock; + int errorPos; + bool errorState; + QMap<QString,QStringList> tokentypes; + QMap<QString,QTextCharFormat> typeformats; + int lastDocumentPos(); + void portable_rehighlightBlock( const QTextBlock &text ); }; #endif |