QScintilla — добавляет цвет к словам в пользовательском лексере

Я пытаюсь создать собственный лексер на основе JavaScript для QScintilla. Я понял, как добавить ключевые слова в лексер. Однако я не могу понять, как изменить их внешний вид при вводе, как, например, при вводе функции word.

Как здесь

Мне нужно выяснить, как это сделать, например, со словом «заполнить».

Вот код, который у меня сейчас есть:

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

2

Решение

Вам необходимо создать подкласс класса QsciLexerCustom. Затем вам нужно создать / настроить несколько объектов QsciStyle внутри этого класса. Фактическая подсветка синтаксиса выполняется в функции styleText (), которую необходимо переопределить.

Вы можете найти подробное объяснение на этом сайте:

https://qscintilla.com/

Более конкретно на этой странице:

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

Я надеюсь, что это помогает

1

Другие решения


По вопросам рекламы [email protected]