Skip to content
ci_hexa
Commercial Interiors
  • Design and sell office, healthcare and educational spaces in 2D and 3D
  • Specify using over 175 manufacturers from our global database
  • Accurate calculations and specifications supported by built-in Parametric Graphical Configuration (PGC)
kb_hexa
Kitchen & Bath
  • Design and sell kitchen, bath and closet spaces in 2D and 3D 
  • Draw, specify and order with ease and in real time alongside your customers
  • Accurate calculations and specifications supported by built-in Parametric Graphical Configuration (PGC)
mh_hexa
MATERIAL HANDLING
  • Lay out warehouse and storage spaces in 2D and 3D
  • Draw, specify, sell and order warehousing solutions with ease
  • Accurate calculations and specifications supported by built-in Parametric Graphical Configuration (PGC)

how_to

HOW TO WORK WITH US
You can be sure of our full commitment - from initial analysis, to implementation and end-user support.

resources22

Resources
Browse through various documents to learn more about Configura and the software we provide.

partner

PARTNERS
Become an integral part of development or hire a partner from our supportive community.

case-studies

CASE STUDIES
Hear directly from our customers how we changed their business with our platform.
LEADER IN SPACE PLANNING

4353453434

The leading SaaS platform for space planning

You can be sure of our full commitment - from initial analysis, to implementation and end-user support.

  • hej 

  • hej 

All in one platform

345345

Open for anyone: How you join is up to you

You can be sure of our full commitment - from initial analysis, to implementation and end-user support.

  • hej 

  • hej 

  • hej
For people who design spaces

341

What's in it for me?

You can be sure of our full commitment - from initial analysis, to implementation and end-user support.

  • hej 

  • hej 

terminal
Paul JonesThu, November 13, "251 min read

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

avatar
Paul Jones
Manager of Developer Experience / Product Owner of Developer Tools

RELATED ARTICLES