update README.md and setup
- update notes for VS Code according to new changes in zls-vscode - add instructions for setting up Helix editor
This commit is contained in:
parent
e8bbb20783
commit
224332d3a8
17
README.md
17
README.md
@ -19,7 +19,7 @@ Zig Language Server, or `zls`, is a language server for Zig. The Zig wiki states
|
|||||||
- [Updating Data Files](#updating-data-files)
|
- [Updating Data Files](#updating-data-files)
|
||||||
- [Configuration Options](#configuration-options)
|
- [Configuration Options](#configuration-options)
|
||||||
- [Features](#features)
|
- [Features](#features)
|
||||||
- [VSCode](#vscode)
|
- [VS Code](#vscode)
|
||||||
- [Sublime Text](#sublime-text)
|
- [Sublime Text](#sublime-text)
|
||||||
- [Sublime Text 3](#sublime-text-3)
|
- [Sublime Text 3](#sublime-text-3)
|
||||||
- [Sublime Text 4](#sublime-text-4)
|
- [Sublime Text 4](#sublime-text-4)
|
||||||
@ -129,13 +129,15 @@ The following LSP features are supported:
|
|||||||
- Find references
|
- Find references
|
||||||
- Rename symbol
|
- Rename symbol
|
||||||
- Formatting using `zig fmt`
|
- Formatting using `zig fmt`
|
||||||
- Semantic token highlighting (LSP 3.16 proposed feature, implemented by a few clients including VSCode, kak and emacs lsp-mode)
|
- Semantic token highlighting (implemented by a few clients including VS Code, kak and emacs lsp-mode)
|
||||||
|
- Inlay hints (implemented by VS Code)
|
||||||
|
|
||||||
You can install `zls` using the instuctions for your text editor below:
|
You can install `zls` using the instuctions for your text editor below:
|
||||||
|
|
||||||
### VSCode
|
### VS Code
|
||||||
|
|
||||||
Install the `zls-vscode` extension from [here](https://github.com/zigtools/zls-vscode/releases) and provide a path to the build `zls` executable.
|
Install the `zls-vscode` extension from [here](https://github.com/zigtools/zls-vscode/releases) or via the extensions menu.
|
||||||
|
It will install `zls` if it is not found in your `PATH`
|
||||||
|
|
||||||
### Sublime Text
|
### Sublime Text
|
||||||
|
|
||||||
@ -201,7 +203,7 @@ Then choose one of the following two ways
|
|||||||
1. Use extension
|
1. Use extension
|
||||||
|
|
||||||
Run `:CocInstall coc-zls` to install [coc-zls](https://github.com/xiyaowong/coc-zls),
|
Run `:CocInstall coc-zls` to install [coc-zls](https://github.com/xiyaowong/coc-zls),
|
||||||
this extension supports the same functionality as the VScode extension
|
this extension supports the same functionality as the VS Code extension
|
||||||
|
|
||||||
2. Manually register
|
2. Manually register
|
||||||
```json
|
```json
|
||||||
@ -326,6 +328,11 @@ let g:LanguageClient_serverCommands = {
|
|||||||
(setq lsp-zig-zls-executable "<path to zls>")
|
(setq lsp-zig-zls-executable "<path to zls>")
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Helix
|
||||||
|
|
||||||
|
- Just add `zls` to your `PATH`.
|
||||||
|
- run `hx --health` to check if helix found `zls`.
|
||||||
|
|
||||||
## Related Projects
|
## Related Projects
|
||||||
|
|
||||||
- [`sublime-zig-language` by @prime31](https://github.com/prime31/sublime-zig-language)
|
- [`sublime-zig-language` by @prime31](https://github.com/prime31/sublime-zig-language)
|
||||||
|
@ -168,7 +168,7 @@ pub fn wizard(allocator: std.mem.Allocator) !void {
|
|||||||
"What is the path to the 'zig' executable you would like to use?", std.fs.MAX_PATH_BYTES);
|
"What is the path to the 'zig' executable you would like to use?", std.fs.MAX_PATH_BYTES);
|
||||||
}
|
}
|
||||||
|
|
||||||
const editor = try askSelectOne("Which code editor do you use?", enum { VSCode, Sublime, Kate, Neovim, Vim8, Emacs, Doom, Spacemacs, Other });
|
const editor = try askSelectOne("Which code editor do you use?", enum { VSCode, Sublime, Kate, Neovim, Vim8, Emacs, Doom, Spacemacs, Helix, Other });
|
||||||
const snippets = try askBool("Do you want to enable snippets?");
|
const snippets = try askBool("Do you want to enable snippets?");
|
||||||
const unused_variables = try askBool("Do you want to enable unused variable warnings?");
|
const unused_variables = try askBool("Do you want to enable unused variable warnings?");
|
||||||
const ief_apc = try askBool("Do you want to enable @import/@embedFile argument path completion?");
|
const ief_apc = try askBool("Do you want to enable @import/@embedFile argument path completion?");
|
||||||
@ -178,7 +178,7 @@ pub fn wizard(allocator: std.mem.Allocator) !void {
|
|||||||
const operator_completions = try askBool("Do you want to enable .* and .? completions?");
|
const operator_completions = try askBool("Do you want to enable .* and .? completions?");
|
||||||
const include_at_in_builtins = switch (editor) {
|
const include_at_in_builtins = switch (editor) {
|
||||||
.Sublime => !try askBool("Are you using a Sublime Text version > 4000?"),
|
.Sublime => !try askBool("Are you using a Sublime Text version > 4000?"),
|
||||||
.VSCode, .Kate, .Neovim, .Vim8, .Emacs, .Doom, .Spacemacs => false,
|
.VSCode, .Kate, .Neovim, .Vim8, .Emacs, .Doom, .Spacemacs, .Helix => false,
|
||||||
else => try askBool("Should the @ sign be included in completions of builtin functions?\nChange this later if `@inc` completes to `include` or `@@include`"),
|
else => try askBool("Should the @ sign be included in completions of builtin functions?\nChange this later if `@inc` completes to `include` or `@@include`"),
|
||||||
};
|
};
|
||||||
const max_detail_length: usize = switch (editor) {
|
const max_detail_length: usize = switch (editor) {
|
||||||
@ -209,9 +209,7 @@ pub fn wizard(allocator: std.mem.Allocator) !void {
|
|||||||
write(
|
write(
|
||||||
\\To use ZLS in Visual Studio Code, install the 'ZLS for VSCode' extension from
|
\\To use ZLS in Visual Studio Code, install the 'ZLS for VSCode' extension from
|
||||||
\\'https://github.com/zigtools/zls-vscode/releases' or via the extensions menu.
|
\\'https://github.com/zigtools/zls-vscode/releases' or via the extensions menu.
|
||||||
\\Then, open VSCode's 'settings.json' file, and add:
|
\\ZLS will automatically be installed if it is not found in your PATH
|
||||||
\\
|
|
||||||
\\"zls.path": "[command_or_path_to_zls]"
|
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
.Sublime => {
|
.Sublime => {
|
||||||
@ -319,6 +317,13 @@ pub fn wizard(allocator: std.mem.Allocator) !void {
|
|||||||
\\(setq lsp-zig-zls-executable "<path to zls>")
|
\\(setq lsp-zig-zls-executable "<path to zls>")
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
.Helix => {
|
||||||
|
write(
|
||||||
|
\\Helix has out of the box support for ZLS
|
||||||
|
\\Make sure you have added ZLS to your PATH
|
||||||
|
\\run hx --health to check if helix has found it.
|
||||||
|
);
|
||||||
|
},
|
||||||
.Other => {
|
.Other => {
|
||||||
write(
|
write(
|
||||||
\\We might not *officially* support your editor, but you can definitely still use ZLS!
|
\\We might not *officially* support your editor, but you can definitely still use ZLS!
|
||||||
|
Loading…
Reference in New Issue
Block a user