A language server for Zig supporting developers with features like autocomplete and goto definition https://zigtools.org/zls/install/
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-05-26 22:48:00 +02:00
.github temporarily pin Zig version to 0.17.0-dev.387+31f157d80 2026-05-26 22:43:46 +02:00
src fix paramFirstToken on variadic function 2026-05-25 00:32:53 +02:00
tests fix paramFirstToken on variadic function 2026-05-25 00:32:53 +02: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 emit compile error when trying to compile with unsupported Zig version 2026-05-26 22:41:55 +02:00
build.zig.zon set minimum zig version to 0.17.0-dev.292+fc1c83a36 2026-05-12 16:38:42 +02:00
codecov.yml disable codecov Pull Request Comments 2024-08-16 20:18:12 +02:00
deps.nix update diffz and known-folders dependency 2026-05-04 20:50:19 +02:00
flake.lock flake.lock: Update 2026-05-12 16:38:42 +02:00
flake.nix nix: pin Zig version based on minimum_zig_version field in zon file 2026-04-16 21:05:43 +02:00
LICENSE Update LICENSE 2024-12-01 14:27:45 -05:00
README.md temporarily update readme about pinned Zig version 2026-05-26 22:48:00 +02:00
schema.json update documentation of skip_std_references config option 2026-04-16 21:05:37 +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 0.17.0-dev.387+31f157d80 until #3208 has been resolved.

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, payload capture type resolution, custom packages, and others. Support for comptime and semantic analysis is Work-in-Progress.

The majority of LSP features are supported:

  • Completions
  • Hover
  • Diagnostics and opt-in build-on-save
  • Go to definition/declaration
  • Workspace symbols and document symbols
  • Find references and rename symbol
  • Formatting based on zig fmt
  • Semantic tokens highlighting
  • Inlay hints
  • Code actions

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