A Zig language server supporting Zig developers with features like autocomplete and goto definition
Find a file
2026-03-27 20:43:29 +01:00
.github remove usage of std.Io.Threaded.ioBasic 2026-03-10 15:28:05 +01:00
src don't create folding range for small number of imports 2026-03-27 20:43:29 +01:00
tests don't create folding range for small number of imports 2026-03-27 20:43:29 +01:00
.gitattributes fix and test build runner package collection issues (#2119) 2024-12-26 05:37:23 +01:00
.gitignore update .gitignore 2026-02-09 19:42:49 +01:00
build.zig set minimum runtime Zig version to 0.16.0-dev.2736+3b515fbed 2026-03-10 15:28:45 +01:00
build.zig.zon update known-folders dependency 2026-03-27 20:40:38 +01:00
codecov.yml disable codecov Pull Request Comments 2024-08-16 20:18:12 +02:00
deps.nix update known-folders dependency 2026-03-27 20:40:38 +01:00
flake.lock flake.lock: Update 2026-03-10 15:29:07 +01:00
flake.nix nix: automatically resolve ZLS version 2026-01-21 21:19:50 +01:00
LICENSE Update LICENSE 2024-12-01 14:27:45 -05:00
README.md update README.md 2026-02-21 23:27:35 +01:00
schema.json update $schema field in schema.json 2025-06-10 16:31:19 +02:00

ZLS Logo

CI codecov License: MIT Discord

ZLS is a non-official implementation of the Language Server Protocol for Zig in Zig. It provides developers with IDE features in their editor.

Installation

The complete installation guide is available on the Zigtools website. It covers editor setup, prebuilt binaries and additional documentation.

Build From Source

The default branch of ZLS targets Zig master.

git clone https://github.com/zigtools/zls
cd zls
zig build -Doptimize=ReleaseSafe

When upgrading Zig, make sure to update ZLS too keep them in sync.

Features

ZLS supports most language features, including simple type function support, using namespace, payload capture type resolution, custom packages, cImport and others. Support for comptime and semantic analysis is Work-in-Progress.

The following LSP features are supported:

  • Completions
  • Hover
  • Goto definition/declaration
  • Document symbols
  • Find references
  • Rename symbol
  • Formatting using zig fmt
  • Semantic token highlighting
  • Inlay hints
  • Code actions
  • Selection ranges
  • Folding regions

Quick Thanks :)

We'd like to take a second to thank all our awesome contributors and donators/backers/sponsors; if you have time or money to spare, consider partaking in either of these options - they help keep ZLS awesome for everyone!

OpenCollective Backers