Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

166 Commits
166 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

glsl_analyzer

Language server for GLSL (OpenGL Shading Language).

Features

  • Completion
    • User-defined variables/functions.
    • Built-in types (e.g., vecN, matNxM, texture2D, etc.)
    • Built-in functions (e.g., length, imageLoad, packUnorm4x8)
    • Includes all extensions
    • Fields
  • Goto Definition
  • Inline hover documentation for all builtin and extension functions/variables
  • Support for #include
  • Formatter

Screenshots

Completion

completion

Formatting

formatting

Goto-Definition

goto definition

In the pipeline

  • Support for refactors (renaming)

Installation

We provide precompiled binaries for Linux, MacOS and Windows on the Releases page. Make sure to copy it somewhere under your PATH environment variable (e.g. ~/.local/bin on Linux).

Building from Source

zig build install -Doptimize=ReleaseSafe --prefix ~/.local/

Tested using zig 0.14.0.

Usage

By default glsl_analyzer communicates over stdin/stdout:

glsl_analyzer

However, you can configure it to use a specific port (TCP) using the following command:

glsl_analyzer --port <PORT>

Neovim

nvim-lspconfig comes with support for glsl_analyzer. Simply add the following to your lua config:

require'lspconfig'.glsl_analyzer.setup{}

Visual Studio Code

Install the glsl-analyzer extension from the marketplace. It will automatically download the latest precompiled binary for your platform.

About

Language server for GLSL (autocomplete, goto-definition, formatter, and more)

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.