There’s a related project that’s really cool called scintillua that lets you use lpeg lexers for scintilla. It supports over 120 languages and it’s super easy to add new ones.
https://github.com/orbitalquark/scintillua
You can also use it as a standalone lua library. I packaged it up to make a faster (but much less feature full) alternative to bat.