Do you have any good source of sample files that could be used as unit tests?
Before anything, you'll need to apply this patch: [Fix-EOL-splitting-in-LexVisualProlog.diff.txt](https://github.com/geany/geany/files/8694983/Fix-EOL-splitting-in-LexVisualP...)
Lexilla's testing protocol has dramatically improved over the past year, and it now checks for consistency across EOL modes. A hard failure is raised if the CR and LF of a Windows EOL is in two different styles, e.g.,
![vpl-eol-splits](https://user-images.githubusercontent.com/59004801/168474150-2678acee-8906-4...)
In fairness to the lexer, the problem really comes from the flawed implementation of `StyleContext::atLineEnd` (mitigated in [Lexilla 5.1.0][0]). It doesn't account for newlines longer than a single character [^1] , so you can end up with `<false>CR<true>LF`
[^1]: https://github.com/ScintillaOrg/lexilla/blob/a35a59845e793d9d37d249cf097e71f...
[0]: https://github.com/ScintillaOrg/lexilla/blob/9818085b561cc59243afc3f768db206...