summaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua')
-rw-r--r--lua/nvim-treesitter/install.lua2
-rw-r--r--lua/nvim-treesitter/shell_command_selectors.lua11
2 files changed, 12 insertions, 1 deletions
diff --git a/lua/nvim-treesitter/install.lua b/lua/nvim-treesitter/install.lua
index 0015a2de..936f3653 100644
--- a/lua/nvim-treesitter/install.lua
+++ b/lua/nvim-treesitter/install.lua
@@ -11,7 +11,7 @@ local shell = require "nvim-treesitter.shell_command_selectors"
local M = {}
local lockfile = {}
-M.compilers = { vim.fn.getenv "CC", "cc", "gcc", "clang", "cl" }
+M.compilers = { vim.fn.getenv "CC", "cc", "gcc", "clang", "cl", "zig" }
M.prefer_git = fn.has "win32" == 1
M.command_extra_args = {}
diff --git a/lua/nvim-treesitter/shell_command_selectors.lua b/lua/nvim-treesitter/shell_command_selectors.lua
index 7acd91d2..ee784312 100644
--- a/lua/nvim-treesitter/shell_command_selectors.lua
+++ b/lua/nvim-treesitter/shell_command_selectors.lua
@@ -65,6 +65,17 @@ function M.select_compiler_args(repo, compiler)
"-Os",
"/LD",
}
+ elseif string.match(compiler, "zig$") or string.match(compiler, "zig.exe$") then
+ return {
+ "c++",
+ "-o",
+ "parser.so",
+ repo.files,
+ "-lc",
+ "-Isrc",
+ "-shared",
+ "-Os",
+ }
else
local args = {
"-o",