Skip to content

Feature Request: Add support for GLSL #685

@KadirKess

Description

@KadirKess

Is your feature request related to a problem? Please describe.
I work on a large C++ graphics codebase and CodeGraph has been fantastic for preventing Claude Code from thrashing through gigabytes of context. However, a significant portion of our logic lives in GLSL shaders. Currently, Claude falls back to raw grep and file reads when it hits the shader boundary, which burns through tokens and tool calls.

Describe the solution you'd like
I would love it if CodeGraph could index GLSL files alongside C/C++. Since CodeGraph relies on tree-sitter, the good news is that there are robust community grammars already available for GLSL.

Technical Details for Implementation:

1. Target File Extensions:
To properly support GLSL, the following standard extensions would need to be recognized:

  • .glsl (Generic/Headers)
  • .vert (Vertex shaders)
  • .frag (Fragment shaders)
  • .comp (Compute shaders)
  • .geom (Geometry shaders)
  • .tesc / .tese (Tessellation shaders)

2. Available Tree-Sitter Grammars:
There are currently two well-maintained grammars:

  • Caellian/tree-sitter-glsl: A newer, specification-compliant parser (GLSL 4.60). It does not inherit from C, which makes it much better at parsing real-world macros, uniforms, and layout qualifiers without generating bloated expression trees.
  • tree-sitter-grammars/tree-sitter-glsl: The traditional grammar, which is an extension of tree-sitter-c.

Describe alternatives you've considered
For now, Claude just uses its native file tools for .glsl files while relying on CodeGraph for the C++ side. This works, but indexing GLSL would allow for cross-referencing uniform names, buffer layouts, and shader functions directly through MCP.

Thanks for the amazing tool!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions