Giter Site home page Giter Site logo

automaticp / glsl_analyzer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nolanderc/glsl_analyzer

0.0 0.0 0.0 363 KB

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

License: GNU General Public License v3.0

Shell 0.15% Python 18.96% Zig 77.15% Just 0.45% GLSL 3.28%

glsl_analyzer's Introduction

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

glsl_analyzer's People

Contributors

nolanderc avatar automaticp avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.