QScintilla - 在自定义词法分析器中为单词添加颜色

QScintilla - Add color to words in a custom lexer

我正在尝试为 QScintilla 创建一个基于 JavaScript 的自定义词法分析器。我已经弄清楚如何在词法分析器中添加关键字。但是,我不知道如何改变它们在输入时的外观,就像您输入单词 function 时那样。

我需要弄清楚如何使用 "fill" 这个词。

这是我目前拥有的代码:

    QsciLexer *lexer=new QsciLexerJavaScript;
    QsciAPIs *api = new QsciAPIs(lexer);
    api->add("fill");
    api->prepare();
    ui->textEdit->setLexer(lexer);

您需要子class QsciLexerCustom class。然后你需要 make/configure 在那个 class 里面的几个 QsciStyle 对象。实际的语法突出显示是在 styleText() 函数中完成的,您需要覆盖它。

你可以在这个网站上找到详细的解释:

https://qscintilla.com/

在此页面上更具体:

https://qscintilla.com/syntax-highlighting/

希望对你有帮助