Skip to content
This repository has been archived by the owner on Aug 7, 2023. It is now read-only.

AtomLinter/linter-glsl

Repository files navigation

linter-glsl

Circle CI Status AppVeyor Status

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.

Requirements

Installation

  1. Install glslangValidator

  2. Install linter, language-glsl and linter-glsl, either through 'Install Packages And Themes' or with apm:

    $ apm install linter language-glsl linter-glsl
  3. Configure the path to glslangValidator in preferences.

  4. Lint!

Supported Filename formats

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

Developing

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.

Acknowledgements

  • 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.