From bb319daf5f374064e824f84f1f7cda487313af4e Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Sat, 22 Jan 2022 11:02:55 +0100 Subject: 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. --- lua/nvim-treesitter/health.lua | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'lua/nvim-treesitter/health.lua') 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 -- cgit v1.2.3