Skip to content

Strum355/mcshader-lsp

Repository files navigation

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