MCPcopy Index your code
hub / github.com/Strum355/mcshader-lsp

github.com/Strum355/mcshader-lsp @0.9.9

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.9.9 ↗ · + Follow
202 symbols 510 edges 29 files 12 documented · 6%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Minecraft GLSL Shaders Language Server

mcshader-lsp

Marketplace Version Installs license Issues Build Status

mcshader-lsp is a Language Server and collection of editor extensions for developing Minecraft GLSL Shaders for Optifine. It currently provides linting and syntax highlighting.

Currently supported editors:

Features

  • Linting
  • Syntax highlighting
  • Support for #include directives
  • Displaying #include flattened file
  • Generating Graphviz DOT #include dependency graph

Requirements

  • That you've only one shader folder open. Multiple workspaces aren't currently supported.
  • The root folder of the workspace is the parent folder of shaders folder.

Contributing

Please see CONTRIBUTING.md.

Planned

  • Multi-workspaces (currently only one is supported and using multiple is very undefined behaviour)
  • Warnings for unused uniforms/varyings
  • Lint for all #define value combinations
  • Compute shader support
  • Some cool DRAWBUFFERS stuff

Got a feature request? Chuck it into an Issue!

Known Issues

Check the issues on Github here.

Release Notes

Check CHANGELOG.md.

License

This code is released under the MIT License. Copyright (c) 2021 Noah Santschi-Cooney

Extension points exported contracts — how you extend this code

Invokeable (Interface)
(no doc) [3 implementers]
server/main/src/commands/mod.rs
GithubRelease (Interface)
(no doc)
client/src/net.ts
FromUrl (Interface)
(no doc) [1 implementers]
server/main/src/url_norm.rs
FromJson (Interface)
(no doc) [1 implementers]
server/main/src/url_norm.rs
ShaderValidator (Interface)
(no doc) [1 implementers]
server/main/src/opengl.rs

Core symbols most depended-on inside this repo

add_node
called by 63
server/main/src/graph.rs
add_edge
called by 53
server/main/src/graph.rs
collect_root_ancestors
called by 20
server/main/src/graph.rs
get_node
called by 16
server/main/src/graph.rs
info
called by 11
client/src/log.ts
next
called by 11
server/main/src/dfs.rs
parent
called by 10
server/main/src/navigation.rs
slog_with_trace_id
called by 9
server/logging/src/lib.rs

Shape

Method 123
Function 39
Class 33
Interface 5
Enum 2

Languages

Rust83%
TypeScript17%

Modules by API surface

server/main/src/main.rs48 symbols
server/main/src/graph.rs19 symbols
server/main/src/merge_views.rs17 symbols
server/main/src/navigation.rs12 symbols
server/main/src/dfs.rs11 symbols
server/main/src/test.rs10 symbols
client/src/log.ts8 symbols
client/src/commands.ts8 symbols
server/main/src/source_mapper.rs7 symbols
server/main/src/diagnostics_parser.rs7 symbols
server/main/src/opengl.rs6 symbols
server/main/src/linemap.rs5 symbols

For agents

$ claude mcp add mcshader-lsp \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page