https://github.com/llogick/zigscient
A Zig Language Server
https://github.com/llogick/zigscient
language-server language-server-protocol zig zig-auto-complete zig-language zig-language-server
Last synced: about 2 months ago
JSON representation
A Zig Language Server
- Host: GitHub
- URL: https://github.com/llogick/zigscient
- Owner: llogick
- License: other
- Created: 2024-10-16T09:58:26.000Z (over 1 year ago)
- Default Branch: dev
- Last Pushed: 2026-04-14T18:27:57.000Z (about 2 months ago)
- Last Synced: 2026-04-14T19:20:17.990Z (about 2 months ago)
- Topics: language-server, language-server-protocol, zig, zig-auto-complete, zig-language, zig-language-server
- Language: Zig
- Homepage:
- Size: 7.89 MB
- Stars: 133
- Watchers: 7
- Forks: 5
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Zigscient
A Zig Language Server
A drop-in alternative to ZLS
## What's different:
- Improved editing responsiveness for large documents
- Uses an extended parser, that reuses tokens and nodes to process document changes faster
- Improved syntax error handling
- Uses an extended parser, that works around some common parser deficiencies due to syntax errors
- Reworked Modules Collection and Lookup
- Modules are grouped by CompileStep (root ID). See [How to set/switch 'root_id'](https://github.com/llogick/zigscient/wiki/Modules:-Switching-%60root_id%60)
(This may look like a step back, but is needed for correct module resolution for modules created using meta-programming that have the same name)
- Propagates error messages originating in currently not-open-in-editor documents based
on reference-trace, eg Writers' `print(fmt, args)`
std.debug.print("{}", .{}); [!] too few arguments
std.debug.print("", .{1}); [!] unused argument in ''
std.debug.print("{s}", .{1}); [!] invalid format string ..
[!] indicates that the error did not originate in the current document/file
## Building
```
zig build -Doptimize=ReleaseFast
```
> [!NOTE]
> Remember to rename the executable or update your editor's configuration