Sign in Sign up

Clone of github.com/zigtools/zls

Public mirror on neosource. Source code and history come from the original repository under its upstream license.

Original on GitHub
24 branches · 13 tags
README.md
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, 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