diff options
Diffstat (limited to 'lua/nvim-treesitter/shell_command_selectors.lua')
| -rw-r--r-- | lua/nvim-treesitter/shell_command_selectors.lua | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/lua/nvim-treesitter/shell_command_selectors.lua b/lua/nvim-treesitter/shell_command_selectors.lua index ee784312..fb322e01 100644 --- a/lua/nvim-treesitter/shell_command_selectors.lua +++ b/lua/nvim-treesitter/shell_command_selectors.lua @@ -93,6 +93,30 @@ function M.select_compiler_args(repo, compiler) end end +function M.select_compile_command(repo, cc, compile_location) + if string.match(cc, "cl$") or string.match(cc, "cl.exe$") or not repo.use_makefile then + return { + cmd = cc, + info = "Compiling...", + err = "Error during compilation", + opts = { + args = vim.tbl_flatten(M.select_compiler_args(repo, cc)), + cwd = compile_location, + }, + } + else + return { + cmd = "make", + info = "Compiling...", + err = "Error during compilation", + opts = { + args = { "--makefile=" .. utils.join_path(utils.get_package_path(), "scripts", "compile_parsers.makefile"), "CC=" .. cc }, + cwd = compile_location, + }, + } + end +end + function M.select_install_rm_cmd(cache_folder, project_name) if fn.has "win32" == 1 then local dir = cache_folder .. "\\" .. project_name |
