Merge pull request #94 from kubkon/vim-config

Add Neovim/Vim8 option to config wizard
This commit is contained in:
Auguste Rame 2020-05-28 13:52:16 -04:00 committed by GitHub
commit 99a23737f8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 33 additions and 3 deletions

View File

@ -14,6 +14,7 @@ Zig Language Server, or `zls`, is a language server for Zig. The Zig wiki states
- [VSCode](#vscode) - [VSCode](#vscode)
- [Sublime Text 3](#sublime-text-3) - [Sublime Text 3](#sublime-text-3)
- [Kate](#kate) - [Kate](#kate)
- [Neovim/Vim8](#neovimvim8)
- [Related Projects](#related-projects) - [Related Projects](#related-projects)
- [License](#license) - [License](#license)
@ -100,6 +101,21 @@ Install the `zls-vscode` extension from [here](https://github.com/zigtools/zls-v
} }
``` ```
### Neovim/Vim8
- Install the CoC engine from [here](https://github.com/neoclide/coc.nvim).
- Issue `:CocConfig` from within your Vim editor, and the following snippet:
```json
{
"lanuageserver": {
"zls" : {
"command": "command_or_path_to_zls",
"filetypes": ["zig"]
}
}
}
```
## 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)
- Supports basic language features - Supports basic language features

View File

@ -34,7 +34,7 @@ pub fn config(step: *std.build.Step) anyerror!void {
std.debug.warn("Successfully saved configuration options!\n", .{}); std.debug.warn("Successfully saved configuration options!\n", .{});
const editor = try zinput.askSelectOne("Which code editor do you use?", enum { VSCode, Sublime, Kate, Other }); const editor = try zinput.askSelectOne("Which code editor do you use?", enum { VSCode, Sublime, Kate, Neovim, Vim8, Other });
std.debug.warn("\n", .{}); std.debug.warn("\n", .{});
switch (editor) { switch (editor) {
@ -78,6 +78,20 @@ pub fn config(step: *std.build.Step) anyerror!void {
\\}} \\}}
, .{}); , .{});
}, },
.Neovim, .Vim8 => {
std.debug.warn(
\\To use ZLS in Neovim/Vim8, we recommend using CoC engine. You can get it from 'https://github.com/neoclide/coc.nvim'.
\\Then, simply issue cmd from Neovim/Vim8 `:CocConfig`, and add this to your CoC config:
\\{{
\\ "lanuageserver": {{
\\ "zls" : {{
\\ "command": "command_or_path_to_zls",
\\ "filetypes": ["zig"]
\\ }}
\\ }}
\\}}
, .{});
},
.Other => { .Other => {
std.debug.warn( std.debug.warn(
\\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!
@ -138,8 +152,8 @@ pub fn build(b: *std.build.Builder) !void {
test_step.dependOn(&exe.step); test_step.dependOn(&exe.step);
var unit_tests = b.addTest("tests/unit_tests.zig"); var unit_tests = b.addTest("tests/unit_tests.zig");
unit_tests.addPackage(.{ .name = "analysis", .path = "src/analysis.zig" }); unit_tests.addPackage(.{ .name = "analysis", .path = "src/analysis.zig" });
unit_tests.addPackage(.{ .name = "types", .path = "src/types.zig" }); unit_tests.addPackage(.{ .name = "types", .path = "src/types.zig" });
unit_tests.setBuildMode(.Debug); unit_tests.setBuildMode(.Debug);
test_step.dependOn(&unit_tests.step); test_step.dependOn(&unit_tests.step);
} }