diff --git a/.assets/zls.svg b/.assets/zls.svg new file mode 100644 index 0000000..873c36d --- /dev/null +++ b/.assets/zls.svg @@ -0,0 +1,78 @@ + + + + + + + + image/svg+xml + + + + + + + ZigLanguageServer + + diff --git a/README.md b/README.md index e11ef23..c6e99aa 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,39 @@ -# zls - Zig Language Server +![Zig Language Server](https://raw.githubusercontent.com/SuperAuguste/zls/master/.assets/zls.svg) -Zig Language Server (or `zls` for short) is a - you guessed it - language server for Zig! Based off of the code written by the great `andersfr`. +Zig Language Server, or `zls`, is a language server for Zig. The Zig wiki states that "The Zig community is decentralized" and "There is no concept of 'official' or 'unofficial'", so instead of calling `zls` unofficial, and I'm going to call it a cool option, one of [many](https://github.com/search?q=zig+language+server). ## Installation +Installing `zls` is pretty simple; + ```bash git clone https://github.com/SuperAuguste/zls cd zls zig build ``` +### Build Options + +| Option | Type | What it Does | +| --- | --- | --- | +| `-Dno_snippets` | `bool` | Enables "no snippets" mode for compatibility with language clients that do not support snippets (such as ale). | +| `-Ddata_version` | `string` | The data file version. Any files in the `src/data` file that correspond with the Zig version you want the language server to build for (0.6.0, master). + Then, you can use the `zls` executable in an editor of your choice that has a Zig language server client! ## Usage -**Please, I beg you, please don't use this unless you're developing or testing it!** +`zls` is in its early stages, with a full analysis/completion engine coming soon, but it is still usable. ### VSCode Install the `zig-lsc` extension from [here](https://github.com/SuperAuguste/zig-lsc). + + +## Related Projects +- [`sublime-zig-language` by @prime31](https://github.com/prime31/sublime-zig-language) + - Supports basic language features + - Uses data provided by `src/data` to perform builtin autocompletion + +## License +MIT