The QSciLexer*
classes are misleadingly named. They aren't really lexers at all. Rather they provide a wrapper for the properties files used by the Scintilla-based editor, SciTE. Properties files contain all the settings (fonts, colours, keywords, etc) that are required to configure a specific Scintilla lexer.
By default, QScintilla does not provide a QsciLexer*
class for every language that Scintilla supports. It just provides ones for the most commonly used languages, plus any that are requested by users on the mailing list. AFAIK, the author of Qscintilla is happy to add a QsciLexer*
class for any language supported by Scintilla - the only requirement being that a usable SciTE properties file exists for the corresponding lexer.
Unfortunately, the current SciTE sources don't include a properties file for the Progress 4GL lexer! However, it's entirely possible that someone created one at some time, so a little searching will likely produce one. Failing that, you could always create one yourself.
PS: It's a real annoyance that QScintilla doesn't allow the QsciLexer
class to be subclassed properly (some of the critical virtual functions aren't public). If it was, it would be possible to create a custom wrapper class for any language supported by Scintilla, without having to ask the author of Qscintilla to add one.