macOSWindowsLinux

A language server for Zig supporting developers with features like autocomplete and goto definition

zigzlslanguage-serverlsplsp-server
Star Growth
Stars
5.1k
Forks
447
Weekly Growth
+12
Issues
157
2k4k
Apr 2020May 2022Jul 2024Sep 2026
README
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

[!WARNING] ZLS currently lacks critical build system integration with Zig nightly/master. See #3208 for more information. It is recommended to use Zig and ZLS 0.16.0 in the meantime.

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, 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

Related repositories
ziglang/zig

Moved to Codeberg

ZigMIT Licensecompilerzig
ziglang.org/news/migrating-from-github-to-codeberg/
43.3k3.2k
lightpanda-io/browser

Lightpanda: the headless browser designed for AI and automation

ZigGNU Affero General Public License v3.0browsercdp
lightpanda.io
35.1k1.7k
nullclaw/nullclaw

Fastest, smallest, and fully autonomous AI assistant infrastructure written in Zig

ZigMIT Licenseaiassistant
nullclaw.io
8.1k943
fairyglade/ly

A lightweight TUI (ncurses-like) display manager for Linux and BSD (mirror of https://codeberg.org/fairyglade/ly).

ZigcliDo What The F*ck You Want To Public Licenselinuxlogin
7.6k350
extism/extism

The framework for building with WebAssembly (wasm). Easily & securely load wasm modules, move data, call functions, and build extensible apps.

Rustcrates.iolibraryBSD 3-Clause "New" or "Revised" Licenseplugin-systemc
extism.org
5.8k167
hexops/mach

zig game engine & graphics toolkit - mirror of https://code.hexops.com/hexops/mach

ZigappOthergame-enginegamedev
machengine.org
4.8k211
ratfactor/ziglings

Learn the Zig programming language by fixing tiny broken programs.

tutorialMIT Licenseexerciseslearning-by-doing
4.7k459
riverwm/river

[mirror] A non-monolithic Wayland compositor

Zigwaylandwayland-compositor
codeberg.org/river/river
4.3k169
zml/zml

Any model. Any hardware. Zero compromise. Built with @ziglang / @openxla / MLIR / @bazelbuild

ZiglibraryApache License 2.0aibazel
zml.ai
4k179
PixelGuys/Cubyz

Voxel sandbox game with a large render distance, procedurally generated content and some cool graphical effects.

ZigGNU General Public License v3.03d-gamevoxel-game
3.7k237
mitchellh/libxev

libxev is a cross-platform, high-performance event loop that provides abstractions for non-blocking IO, timers, events, and more and works on Linux (io_uring or epoll), macOS (kqueue), and Wasm + WASI. Available as both a Zig and C API.

ZiglibraryMIT Licenseasyncc
3.6k189
jstrieb/github-stats

Better GitHub statistics images for your profile, with stats from private repos too

ZigGNU General Public License v3.0github-statsstatistics
3.5k798