11 releases

0.3.1 Aug 24, 2024
0.3.0 Aug 1, 2024
0.2.3 Aug 1, 2024
0.2.1 Jul 20, 2024
0.1.4 Jul 20, 2024

#33 in Text editors

Custom license

285KB
7.5K SLoC

glasgow

A Language Server for WGSL (WebGPU Shading Language)

Features

  • Completions:
    • Local functions/variables/types.
    • Fields and swizzles.
    • Builtin types and functions (dot, reflect, textureSample, vec3, mat4x2, etc.)
  • Hover Documentation:
    • Function signatures.
    • Variable types.
    • Includes builtin types and functions. Text is taken from the WGSL specification.
  • Goto Definition
  • Find all References
  • Rename
  • Formatter

Planned

  • Support for non-standard #include/#import directives.

Usage

First install the language server using cargo:

cargo install glasgow

Then follow the editor-specific instructions below:

Visual Studio Code

Install the glasgow extension from the marketplace.

neovim

First, install nvim-lspconfig.

Then it is as simple as enabling the glasgow configuration:

local lspconfig = require 'lspconfig'
lspconfig.glasgow.setup {}

Dependencies

~9–17MB
~219K SLoC