From 8a4d261343fbf4a937583db59e607ae68fee7745 Mon Sep 17 00:00:00 2001 From: Mark Liversedge Date: Fri, 29 Apr 2016 19:52:25 +0100 Subject: [PATCH] R nits / tidy ups .. highlighter and default script --- src/Charts/RChart.cpp | 12 +++++++++++- src/R/RSyntax.cpp | 14 ++++++++------ 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/Charts/RChart.cpp b/src/Charts/RChart.cpp index d6c025f48..16f6f8f85 100644 --- a/src/Charts/RChart.cpp +++ b/src/Charts/RChart.cpp @@ -287,7 +287,13 @@ RChart::RChart(Context *context) : GcChartWindow(context), context(context) script->setStyleSheet(TabView::ourStyleSheet()); // syntax highlighter - RSyntax syntax(script->document()); + setScript("## R script will run on selection.\n" + "##\n" + "## GC.activity()\n" + "## GC.metrics()\n" + "##\n" + "## Get the current ride or date range.\n" + "##\n"); leftsplitter->addWidget(script); console = new RConsole(context, this); @@ -376,6 +382,10 @@ RChart::runScript() canvas->newPage(); } + // if the program expects more we clear it, otherwise + // weird things can happen! + rtool->R->program.clear(); + // clear context rtool->context = NULL; rtool->canvas = NULL; diff --git a/src/R/RSyntax.cpp b/src/R/RSyntax.cpp index 285cbe63e..86b12fbe9 100644 --- a/src/R/RSyntax.cpp +++ b/src/R/RSyntax.cpp @@ -96,17 +96,19 @@ RSyntax::RSyntax(QTextDocument *parent) : QSyntaxHighlighter(parent) } // operators + operatorFormat.setForeground(QColor(255,204,000)); //operatorFormat.setForeground(Qt::darkCyan); //operatorFormat.setFontWeight(QFont::Bold); - //QStringList operatorPatterns; + QStringList operatorPatterns; //operatorPatterns << "[\\&\\$\\@\\|\\:\\~\\{\\}\\(\\)!]" << "==" << "!="; + operatorPatterns << "[\\&\\@\\|\\:\\~!<>=]" << "==" << "!="; - //foreach (QString pattern, operatorPatterns) { - //rule.pattern = QRegExp(pattern); - //rule.format = operatorFormat; - //highlightingRules.append(rule); - //} + foreach (QString pattern, operatorPatterns) { + rule.pattern = QRegExp(pattern); + rule.format = operatorFormat; + highlightingRules.append(rule); + } // namespace: anything followed by :: //namespaceFormat.setForeground(Qt::magenta);