From b6942d5025b72dd4e5f0fa0f3baa6c6d8c030817 Mon Sep 17 00:00:00 2001 From: maxxnino <34153891+maxxnino@users.noreply.github.com> Date: Sat, 3 Jul 2021 14:41:32 +0900 Subject: auto detect file for zig, and language server for zig (#604) Co-authored-by: maxxnino --- ftdetect/zig.lua | 4 ++++ ftplugin/zig.lua | 15 +++++++++++++++ lua/default-config.lua | 3 ++- 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 ftdetect/zig.lua create mode 100644 ftplugin/zig.lua 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 = {} }, -- cgit v1.2.3