File indexing completed on 2024-04-28 11:20:35
0001 /* 0002 SPDX-FileCopyrightText: 2010 Miha Čančula <miha.cancula@gmail.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "octavehighlighter.h" 0008 #include "octavekeywords.h" 0009 #include <session.h> 0010 0011 using namespace Cantor; 0012 0013 OctaveHighlighter::OctaveHighlighter(QObject* parent, Session* session): DefaultHighlighter(parent, session) 0014 { 0015 addKeywords(OctaveKeywords::instance()->keywords()); 0016 addFunctions(OctaveKeywords::instance()->functions()); 0017 0018 QStringList operators; 0019 operators 0020 << QLatin1String("+") << QLatin1String("-") << QLatin1String("*") << QLatin1String("/") 0021 << QLatin1String(".+") << QLatin1String(".-") << QLatin1String(".*") << QLatin1String("./") 0022 << QLatin1String("=") << QLatin1String("or") << QLatin1String("and") << QLatin1String("xor") 0023 << QLatin1String("not") << QLatin1String("||") << QLatin1String("&&") << QLatin1String("=="); 0024 addRules(operators, operatorFormat()); 0025 0026 addRule(QRegularExpression(QStringLiteral("\"[^\"]*\"")), stringFormat()); 0027 addRule(QRegularExpression(QStringLiteral("'[^']*'")), stringFormat()); 0028 0029 addRule(QRegularExpression(QStringLiteral("#[^\n]*")), commentFormat()); 0030 addRule(QRegularExpression(QStringLiteral("%[^\n]*")), commentFormat()); 0031 0032 rehighlight(); 0033 }