There are efforts to explore #mediawiki-extensions-codemirror as an alternative for CodeEditor across the wikiverse. That effort would not be feature-complete without CodeMirror integration in AbuseFilter.
AbuseFilter has a custom [[ https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/AbuseFilter/+/f76ab540d09ad2bdc9838d47854a0d2e913f9396/modules/mode-abusefilter.js | Ace mode ]] that depends on the `ext.codeEditor.ace` module. While not trivial, things appear to work similarly enough that it should be doable to port this to a [[ https://codemirror.net/docs/ref/#h_stream_parser | CodeMirror 6 StreamParser ]]. Better would be to write a grammar for the [[ https://lezer.codemirror.net/ | Lezer parser system ]], if this AbuseFilter language allows for it.
After we have a working mode, there's a good bit of backend work to go with it. I propose a configuration similar to what we're doing for all the other CodeEditor integrations, with the feature flags `$wgAbuseFilterUseCodeEditor` and `$wgAbuseFilterUseCodeMirror`. A new `CodeMirrorEditBoxBuilder` class could be created to parity `AceEditBoxBuilder`, and so on.