CM TreeSitter Access
You may have already received notification for this, but today all developers, internal and external, have received access to the GitLab repository that contains a TreeSitter grammar for CM.
For those of you that haven't heard of TreeSitter, it is tool/platform for creating parsers in an extremely efficient way. The result of 'building' a TreeSitter grammar is a small program that can parse out a great deal of code into something like an Abstract Syntax Tree (AST), which can then be used by other tools. Within the Developer Tools team at Configura, we've created a TreeSitter parser that parses CM code. We use this for a number of things such as syntax highlighting in the VS Code extension, several 'intelligent' utilities/functions in the VS Code extension, and it is what powers the upcoming CM linter.
Because of it's efficiency, we have hopes to start incorporating this into other tools in the future. For example, we've discussed the possibility of transitioning the syntax highlighting in emacs to instead use TreeSitter (this would allow us to iterate/improve on syntax highlighting much easier/faster). We've also discussed the possibility of converting emacs' and VS Code's 'LSP-like' features over to using TreeSitter for (potentially) faster and more consistent behavior.
In any case, in discussions with developers both internal and external to Configura, many have expressed an interest in creating their own tools, such as team-specific linting and complexity analysis. To that end, we're making this repository available to you, in case you'd like to leverage it in the creation of those tools (or even if you're just curious)
Have fun!
Edit: Forgot to include a link to the repo: https://git.configura.com/cet/external/tree-sitter-cm













