diff options
-rw-r--r-- | ftdetect/zig.lua | 4 | ||||
-rw-r--r-- | ftplugin/zig.lua | 15 | ||||
-rw-r--r-- | lua/default-config.lua | 3 |
3 files changed, 21 insertions, 1 deletions
diff --git a/ftdetect/zig.lua b/ftdetect/zig.lua new file mode 100644 index 00000000..81e901ca --- /dev/null +++ b/ftdetect/zig.lua @@ -0,0 +1,4 @@ +vim.cmd([[ + au BufRead,BufNewFile *.zig set filetype=zig + au BufRead,BufNewFile *.zir set filetype=zir +]]) diff --git a/ftplugin/zig.lua b/ftplugin/zig.lua new file mode 100644 index 00000000..06217ddd --- /dev/null +++ b/ftplugin/zig.lua @@ -0,0 +1,15 @@ +-- Because lspinstall don't support zig yet, +-- So we need zls preset in global lib +-- Further custom install zls in +-- https://github.com/zigtools/zls/wiki/Downloading-and-Building-ZLS +require'lspconfig'.zls.setup{ + root_dir = require'lspconfig'.util.root_pattern(".git", "build.zig", "zls.json"), + on_attach = require'lsp'.common_on_attach, +} +require('lv-utils').define_augroups({ + _zig_autoformat = { + {'BufWritePre', '*.zig', 'lua vim.lsp.buf.formatting_sync(nil, 1000)'}, + {'BufEnter', '*.zig', ':lua vim.api.nvim_buf_set_option(0, "commentstring", "// %s")'} + } +}) +vim.cmd("setl expandtab tabstop=8 softtabstop=4 shiftwidth=4") diff --git a/lua/default-config.lua b/lua/default-config.lua index 0553226f..76a853ab 100644 --- a/lua/default-config.lua +++ b/lua/default-config.lua @@ -188,7 +188,8 @@ O = { formatter = '', autoformat = false, virtual_text = true - } + }, + zig = {} }, |