An open API service indexing awesome lists of open source software.

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

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