linter-glsl is a package for the Atom editor that lints GLSL shaders on the fly.
It uses the Khronos GLSL Validator which is part of the GL Shading Language reference compiler as well as the language-glsl and linter Atom packages.
It also works nicely alongside autocomplete-glsl.
-
Install glslangValidator
-
Install linter, language-glsl and linter-glsl, either through 'Install Packages And Themes' or with apm:
$ apm install linter language-glsl linter-glsl
-
Configure the path to glslangValidator in preferences.
-
Lint!
Vertex | Fragment | Geometry | Tessellation Control | Tessellation Evaluation | Compute |
---|---|---|---|---|---|
.vert |
.frag |
.geom |
.tesc |
.tese |
.comp |
.vs.glsl |
.fs.glsl |
.gs.glsl |
.tc.glsl |
.te.glsl |
.cs.glsl |
_vs.glsl |
_fs.glsl |
_gs.glsl |
_tc.glsl |
_te.glsl |
_cs.glsl |
.vs |
.fs |
.gs |
.tc |
.te |
.cs |
.v.glsl |
.f.glsl |
.g.glsl |
|||
_v.glsl |
_f.glsl |
_g.glsl |
|||
.vsh |
.fsh |
.gsh |
The glslangValidator tool is in development, and the released Windows and Linux versions appear to be built from a development branch rather than tags. This makes linting its output something of a moving target. This, combined with the fact that there is no official MacOS release has made consistent testing across the three main platforms hard.
- linter-clang was used as a reference for interacting with the atom-linter package, styling, and how to write specs for Atom.
- linter-haml was used as a reference for how to create temporary directories and files so that linting can be performed on the fly.