Create new track for GDScript

The editor uses CodeMirror, not HighlightJS.

sorry for not polishing my PR enough.

No worries! :slight_smile:

Yes, the editor uses CodeMirror, which requires a language package with a grammar file. Then, Lezer converts this grammar into a parser that highlights code in real time.

HighlightJS can highlight static code.

Yes, the editor uses CodeMirror, which requires a language package with a grammar file. Then, Lezer converts this grammar into a parser that highlights code in real time.

There is no CodeMirror language extension for GDScript at the moment, as far as I know.

@dem4ron does it mean that there will be no syntax highlighting in the online editor? Or can we create our own GDScript module (like with HighlightJS) ?

There won’t be syntax highlighting in the online editor until we have a NPM package for the CodeMirror plugin published . There’s also some internal plumbing that needs to be done to load the package.

Yes, without a codemirror language package we won’t have highlighting in the editor, but making a language pack is absolutely doable. :slight_smile:

Sorry for a long break ;)

I just merged a PR that swaps expected and actual values in exercises (a follow-up to swapping them in the test runner repo). Thanks @BNAndras for a review ;)

I think the most important part that is still missing is all the documentation. I will start adding PRs next.

Regarding the highlighting issue in the online editor: do you think it’s a blocker for the release of the track? These days, I usually solve exercises in the web editor, so for me it would be annoying, but not impossible to work this way. But perhaps more users prefer to solve the exercises locally, and they wouldn’t care about the online editor?

I am not sure how much effort it will be to make our own language pack, I’m trying to focus on the things we absolutely need for the track to go public ;)

It’s nice to have but it’s not part of the launch list at the end of the day. A CM6 mode is a large undertaking. Maybe there’s a similar enough NPM package already. Racket uses a Scheme one if I remember correctly.