From 3565aad630864ecdbe53fdaa501ea708555b3c7c Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Sun, 30 Apr 2023 18:30:36 -0400 Subject: New upstream version 3.4.4+dfsg. --- .../guiSQLiteStudio/qtscriptsyntaxhighlighter.h | 51 +++++++++------------- 1 file changed, 21 insertions(+), 30 deletions(-) (limited to 'SQLiteStudio3/guiSQLiteStudio/qtscriptsyntaxhighlighter.h') diff --git a/SQLiteStudio3/guiSQLiteStudio/qtscriptsyntaxhighlighter.h b/SQLiteStudio3/guiSQLiteStudio/qtscriptsyntaxhighlighter.h index 3d701de..3d5e6bd 100644 --- a/SQLiteStudio3/guiSQLiteStudio/qtscriptsyntaxhighlighter.h +++ b/SQLiteStudio3/guiSQLiteStudio/qtscriptsyntaxhighlighter.h @@ -33,46 +33,37 @@ #include "guiSQLiteStudio_global.h" #include "plugins/builtinplugin.h" #include "syntaxhighlighterplugin.h" -#include -#include -/** - * @brief The JavaScript (also QtScript) highlighter - * - * This class is mostly copied from Ofi Labs X2 project. It has been slightly modified for SQLiteStudio needs. - * See the source code for the full license disclaimer. - */ -class GUI_API_EXPORT JavaScriptSyntaxHighlighter : public QSyntaxHighlighter -{ - public: - explicit JavaScriptSyntaxHighlighter(QTextDocument *parent = 0); - void mark(const QString &str, Qt::CaseSensitivity caseSensitivity); - - protected: - void highlightBlock(const QString &text); - - private: - QSet m_keywords; - QSet m_knownIds; - QString m_markString; - Qt::CaseSensitivity m_markCaseSensitivity; - QTextCharFormat normalFormat; - QTextCharFormat keywordsFormat; - QTextCharFormat commentFormat; - QTextCharFormat stringFormat; -}; +#include class GUI_API_EXPORT JavaScriptHighlighterPlugin : public BuiltInPlugin, public SyntaxHighlighterPlugin { Q_OBJECT - SQLITESTUDIO_PLUGIN_TITLE("QtScript highlighter") - SQLITESTUDIO_PLUGIN_DESC("QtScript (JavaScript) syntax highlighter.") - SQLITESTUDIO_PLUGIN_VERSION(10000) + SQLITESTUDIO_PLUGIN_TITLE("JavaScript highlighter") + SQLITESTUDIO_PLUGIN_DESC("JavaScript syntax highlighter.") + SQLITESTUDIO_PLUGIN_VERSION(10200) SQLITESTUDIO_PLUGIN_AUTHOR("sqlitestudio.pl") public: + enum State + { + NORMAL, + NUMBER, + KEYWORDS, + COMMENT, + STRING, + EXPRESSION + }; + + bool init(); QString getLanguageName() const; QSyntaxHighlighter* createSyntaxHighlighter(QWidget* textEdit) const; + void refreshFormats(); + QString previewSampleCode() const; + + private: + QHash formats; + }; #endif // JAVASCRIPTSYNTAXHIGHLIGHTER_H -- cgit v1.2.3