mirror of
https://github.com/Strum355/mcshader-lsp.git
synced 2025-07-07 19:35:32 +00:00
A language server and Visual Studio Code extension for Minecraft GLSL Shaders
glsllanguage-server-protocolminecraftminecraft-glsl-shadersopenglrust-language-servervisual-studio-code
.github/workflows | ||
.vscode | ||
client | ||
server | ||
.gitattributes | ||
.gitignore | ||
.rustfmt.toml | ||
.vscodeignore | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
logo-min.png | ||
logo-mini.png | ||
logo.png | ||
package-lock.json | ||
package.json | ||
README.md | ||
shaders.py | ||
tsconfig.json |
Minecraft GLSL Shaders Language Server
mcshader-lsp
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:
- Visual Studio Code with
vscode-mc-shader

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