It looks like the primary keyword set in your last commit left out the VisualProlog type specifiers [1] (or ["Domains"](https://wiki.visual-prolog.com/index.php?title=Language_Reference/Built-in_e...), as the spec calls them). Compare the appearance of unsigned in my [earlier screen capture](https://user-images.githubusercontent.com/59004801/163895249-93885a44-09dd-4...) with the one below (in the [Himbeere colorscheme](https://github.com/geany/geany-themes)):
I'm getting slightly lost in what you propose to do - I just took the VS code keywords as you suggested but basically I could merge all the keywords together, i.e.: 1. VS Code 2. Vim 3. Visual Prolog I just suspect not many people will use Geany for Visual Prolog which seems to be Windows-only, proprietary and with an official IDE (whose authors probably wrote the lexer and use it in their IDE).
Scintilla lexers are C++, so in theory they could do anything, just somebody has to code it :-)
Yeah, you should be able to do more things in the code than using regular expression.