Skip to content

Add Houdini VEX language support#5126

Open
igor-elovikov wants to merge 2 commits into
zed-industries:mainfrom
igor-elovikov:main
Open

Add Houdini VEX language support#5126
igor-elovikov wants to merge 2 commits into
zed-industries:mainfrom
igor-elovikov:main

Conversation

@igor-elovikov

Copy link
Copy Markdown

Support for VEX Language used in Houdini software: https://www.sidefx.com/docs/houdini/vex/lang.html
It's a very simple C-like shader language with couple of quirks

No LSP, only grammar: https://github.com/igor-elovikov/tree-sitter-vex and snippets for builtins (with help provided in tooltips)

@cla-bot

cla-bot Bot commented Mar 6, 2026

Copy link
Copy Markdown

We require contributors to sign our Contributor License Agreement, and we don't have @igor-elovikov on file. You can sign our CLA at https://zed.dev/cla. Once you've signed, post a comment here that says '@cla-bot check'.

@igor-elovikov

Copy link
Copy Markdown
Author

@cla-bot check

@cla-bot cla-bot Bot added the cla-signed label Mar 6, 2026
@cla-bot

cla-bot Bot commented Mar 6, 2026

Copy link
Copy Markdown

The cla-bot has been summoned, and re-checked this pull request!

@igor-elovikov igor-elovikov changed the title Houdini VEX Language extension Add Houdini VEX Language support Mar 11, 2026
@MrSubidubi MrSubidubi changed the title Add Houdini VEX Language support Add Houdini VEX language support Jun 12, 2026

@MrSubidubi MrSubidubi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this and sorry for the way too long wait!

Could you please elaborate why the snippet file is that large - is this supposed to be a replacement for a proper language server?

Furthermore, could we update the language ID to houdini-vex to be a bit more descriptive? Thanks!

@igor-elovikov

igor-elovikov commented Jun 13, 2026

Copy link
Copy Markdown
Author

Thanks! no worries!

sorry, didn't quite get about language id, I've renamed extension id and language folder name. Language config has only the human readable name (I kept it as "VEX")

for snippets you're right and it mirrors actually how for example vscode extensions for vex authored (just providing snippets for builtins)
It's a bit niche language but it also has a lot of small quirks so you can't actually reuse any existing servers and nobody bothers writing one. VEX has a lot of builtins and it's very useful to autocomplete them with a bit of help. I just parse official specs and create snippets so I can see suggestions and small tooltips:
Screenshot 2026-06-13 at 10 08 24

it does feel a little like exploiting snippets
if you fell this is not right I can remove it but it is useful and Houdini users already used to that

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants