Я пытаюсь создать собственный лексер на основе JavaScript для QScintilla. Я понял, как добавить ключевые слова в лексер. Однако я не могу понять, как изменить их внешний вид при вводе, как, например, при вводе функции word.
Мне нужно выяснить, как это сделать, например, со словом «заполнить».
Вот код, который у меня сейчас есть:
QsciLexer *lexer=new QsciLexerJavaScript;
QsciAPIs *api = new QsciAPIs(lexer);
api->add("fill");
api->prepare();
ui->textEdit->setLexer(lexer);
Вам необходимо создать подкласс класса QsciLexerCustom. Затем вам нужно создать / настроить несколько объектов QsciStyle внутри этого класса. Фактическая подсветка синтаксиса выполняется в функции styleText (), которую необходимо переопределить.
Вы можете найти подробное объяснение на этом сайте:
Более конкретно на этой странице:
https://qscintilla.com/syntax-highlighting/
Я надеюсь, что это помогает