cue-lang / cue

The home of the CUE language! Validate and define text-based and dynamic configuration
https://cuelang.org
Apache License 2.0
5.14k stars 295 forks source link

vscode-cue: Define CUE TextMate grammar in CUE #3425

Open myitcv opened 3 years ago

myitcv commented 3 years ago

Currently, the CUE TextMate Grammar is generated from a rather elegant Go specification.

However, as noted in https://github.com/cue-sh/vscode-cue/pull/12#issuecomment-889636913, the TextMate grammar exists in a JSON Schema form (there may be a more official location).

Hence we could quite easily move the specification of the CUE TextMate Grammar from Go to CUE, and have the code generation step be a cue export command (again, making sure this is part of CI).

@betawaffle - thoughts on this?

betawaffle commented 3 years ago

That sounds like a great idea. The only reason I wrote it in Go originally was that I was very familiar (Go is my day job), and it was expedient. I think CUE probably wasn't mature enough for that at the time too.

myitcv commented 3 years ago

I think CUE probably wasn't mature enough for that at the time too.

That was almost certainly the case!

Thanks, I might suggest this to the CUE community as a project that someone could work on, unless you had a particular interest in it?

betawaffle commented 3 years ago

unless you had a particular interest in it?

I would, but I'm really quite busy at the moment.

myitcv commented 3 years ago

I'll leave it marked as "help wanted" for now. Might tweet this out to see if there is anyone who might be interested in learning CUE with a particular goal to help that learning. Otherwise, we might do this as part of a live stream (we have some vague plans for doing more community-oriented stuff).

myitcv commented 3 years ago

Noting that https://github.com/Septh/tmlanguage exists, apparently as an enhanced fork.

RedCMD commented 1 month ago

the TextMate grammar exists in a JSON Schema form (there may be a more official location).

that is the 'official' VSCode location I don't think TextMate 2.0 has a schema AFAIK

I've made a slightly improved version here