Need support? Wanna help out? Join our Discord server!
ZLS is a non-official implementation of the Language Server Protocol for Zig in Zig. It provides developers with IDE features in their editor.
See the Installation Guide for editor and binary installation instructions.
Building ZLS requires a build of Zig master.
git clone https://github.com/zigtools/zls
cd zls
zig build -Doptimize=ReleaseSafeZLS 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
sublime-zig-languageby @prime31- Supports basic language features
- Uses data provided by
src/datato perform builtin autocompletion
zig-lspby @xackus- Inspiration for ZLS
known-foldersby @ziglibs- Provides API to access known folders on Linux, Windows and Mac OS
zlsby @zigtools- Used by many ZLS developers to more efficiently work on ZLS
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!