the lexer can display keywords in upper case, but only display, not change the text value.
tried this:
void Editor::ChangeCaseOfSelection(bool makeUpperCase) {
UndoGroup ug(pdoc);
for (size_t r=0; r<sel.Count(); r++) {
SelectionRange current = sel.Range(r);
pdoc->ChangeCase(Range(current.Start().Position(), current.End().Position()),
makeUpperCase);
char chr = pdoc->CharAt(current.Start().Position());
chr = toupper(chr);
pdoc->DeleteChars(current.Start().Position(), 1);
pdoc->InsertChar(current.Start().Position(), chr);
// Automatic movement cuts off last character so reset to exactly the same as it was.
sel.Range(r) = current;
}
}
have to look.
last solution is to parse the text and replace keywords in uppercase.