summaryrefslogtreecommitdiff
path: root/lua/nvim-treesitter/health.lua
diff options
context:
space:
mode:
authorChristian Clason <c.clason@uni-graz.at>2022-01-22 11:02:55 +0100
committerChristian Clason <christian.clason@uni-due.de>2022-01-22 22:56:50 +0100
commitbb319daf5f374064e824f84f1f7cda487313af4e (patch)
treecbcd3a473db29d8a7b407c98183ee9be689aa2b0 /lua/nvim-treesitter/health.lua
parent020905ff26e3c9f8a450d009b635d8611df492f7 (diff)
feat: specify abi version for generate on newer ts cli
Check tree-sitter CLI version and if > 0.20.3 and generating a parser from grammar, use `--abi=vim.treesitter.language_version`. Besides being able to opt-in to newer ABI benefits, this is a necessary workaround for an upstream bug with 0.20.3, where `parser.h` is not generated if the (optional) `--abi` flag is omitted.
Diffstat (limited to 'lua/nvim-treesitter/health.lua')
-rw-r--r--lua/nvim-treesitter/health.lua7
1 files changed, 2 insertions, 5 deletions
diff --git a/lua/nvim-treesitter/health.lua b/lua/nvim-treesitter/health.lua
index 996a87f2..b26a9ef2 100644
--- a/lua/nvim-treesitter/health.lua
+++ b/lua/nvim-treesitter/health.lua
@@ -5,6 +5,7 @@ local queries = require "nvim-treesitter.query"
local info = require "nvim-treesitter.info"
local shell = require "nvim-treesitter.shell_command_selectors"
local install = require "nvim-treesitter.install"
+local utils = require "nvim-treesitter.utils"
local health_start = vim.fn["health#report_start"]
local health_ok = vim.fn["health#report_ok"]
@@ -24,13 +25,9 @@ local function install_health()
.. " not required for :TSInstall)"
)
else
- local handle = io.popen "tree-sitter -V"
- local result = handle:read "*a"
- handle:close()
- local version = vim.split(result, "\n")[1]:match "[^tree%psitter].*"
health_ok(
"`tree-sitter` found "
- .. (version or "(unknown version)")
+ .. (utils.ts_cli_version() or "(unknown version)")
.. " (parser generator, only needed for :TSInstallFromGrammar)"
)
end