Syntax highlighting?

cm5 is plain old JavaScript, easy peasy, whereas cm6 is es6 module based, and I found it completely impossible to set up a development environment for that.
The exercism site has recently upgraded to cm6 - cm5 code may still be usable on that via “legacy mode”, or it may need changing such that rather than start as it does now with

(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
    mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
    define(["../../lib/codemirror"], mod);
else // Plain browser env
    mod(CodeMirror);
})(function(CodeMirror) {
"use strict";

CodeMirror.defineMode("phix", function(config) {...

to something a bit more like

import { parser } from '@lezer/phix';
import { EditorSelection } from '@codemirror/state';
import { EditorView } from '@codemirror/view';
export const phixLanguage = LRLanguage.define({...

presumably bundled and published on npm, but someone else would have to do that.

(For clarity, we’ve always been CM6 :slight_smile:)

@dem4ron @ErikSchierboom Maybe you could chime in about how we can use the CM5 parsers pls as I’m pretty sure we do that elsewhere?