TmLanguage-Syntax-Highlighter icon indicating copy to clipboard operation
TmLanguage-Syntax-Highlighter copied to clipboard

Support For the Yaml version of the TmLanguage

Open Nova38 opened this issue 1 year ago • 6 comments

Would it be possible to add support for the yaml version of the textmate language definitions? From some experience it is a little nicer to write the language specs in the yaml version is that you don't have to escape the regex as much as in json. It is also mentioned on the vscode docs (https://code.visualstudio.com/api/language-extensions/syntax-highlight-guide).

Nova38 avatar Feb 08 '25 02:02 Nova38

definitely possible. tho it will take some time

originally I had thought about doing it but I decided to focus on json cause you needed to run a command to convert the yaml into json anyway (and I don't like the plist format)

I can create the syntax highlighting but it'll be too much work to setup the language features like: error diagnostics, advanced code completions, rename, definitions, code actions etc

I can get integration with RedHat's extension https://github.com/redhat-developer/vscode-yaml/issues/1092 code formatting, basic schema completions, basic schema diagnostics, breadcrumb symbols

otherwise you can download this extension https://marketplace.visualstudio.com/items?itemName=pedro-w.tmlanguage or https://marketplace.visualstudio.com/items?itemName=radium-v.yaml-tmlanguage https://github.com/microsoft/vscode-textmate/issues/224

RedCMD avatar Feb 08 '25 08:02 RedCMD

for backslash escaping you need a single escape for json characters bfnrt/" & \u0000 double escape for every regex (single) escape \\ and quad backslash for a single backslash \\\\

RedCMD avatar Feb 08 '25 09:02 RedCMD

Sweet! I will check out that one as well. Even just the syntax highlighting would be super helpful. Debugging the language kinda still ends up having to be in json anyway as that is what ends up getting used by vscode anyway.

I do also just want to thank you for implementing the call stack thing for debugging the tokenization. It saved so much time debugging compared to having to setup the tokenization CLI and then compare back and forth. It saved my at least a few hours of tedious work.

Nova38 avatar Feb 09 '25 00:02 Nova38

implementing the call stack

happy to see its in good use 🥳 if you have any suggestions for it. there's #10

slowly getting there currently reusing the json regex highlighter and doesn't support flow-nesting {} [] Image

seems the YAML repo is on the slower side atm

  • https://github.com/redhat-developer/vscode-yaml/issues/1068
  • https://github.com/redhat-developer/vscode-yaml/issues/1092
  • https://github.com/redhat-developer/vscode-yaml/pull/1093
  • https://github.com/redhat-developer/vscode-yaml/issues/1097
  • https://github.com/redhat-developer/yaml-language-server/pull/1040

RedCMD avatar Feb 13 '25 08:02 RedCMD

That makes sense. I have had a few issues with the yaml extension in the past so the fact that it is strapped for resources is not surprising.

Thanks again 💙

Nova38 avatar Feb 15 '25 07:02 Nova38

RedHats yaml extension will now support TextMate 🎉

  • https://github.com/redhat-developer/vscode-yaml/pull/1093
  • https://github.com/redhat-developer/yaml-language-server/pull/1132

should be available in their next update

RedCMD avatar Oct 01 '25 19:10 RedCMD