From c16a6c972b0b60d1070568181234ab66e7ea570a Mon Sep 17 00:00:00 2001 From: Stephan Seitz Date: Thu, 1 Apr 2021 11:37:07 +0200 Subject: Check for node-js on :TSInstallFromGrammar Ref: https://github.com/nvim-treesitter/nvim-treesitter/issues/1121#issuecomment-811755767 --- lua/nvim-treesitter/health.lua | 11 +++++++++++ lua/nvim-treesitter/install.lua | 3 +++ 2 files changed, 14 insertions(+) (limited to 'lua/nvim-treesitter') diff --git a/lua/nvim-treesitter/health.lua b/lua/nvim-treesitter/health.lua index b1c1a8f7..33021e36 100644 --- a/lua/nvim-treesitter/health.lua +++ b/lua/nvim-treesitter/health.lua @@ -25,6 +25,17 @@ local function install_health() health_ok('`tree-sitter` found '..version..' (parser generator, only needed for :TSInstallFromGrammar)') end + if fn.executable('node') == 0 then + health_warn('`node` executable not found (only needed for :TSInstallFromGrammar,'.. + ' not required for :TSInstall)') + else + local handle = io.popen('node --version') + local result = handle:read("*a") + handle:close() + local version = vim.split(result,'\n')[1] + health_ok('`node` found '..version..' (only needed for :TSInstallFromGrammar)') + end + if fn.executable('git') == 0 then health_error('`git` executable not found.', { 'Install it with your package manager.', diff --git a/lua/nvim-treesitter/install.lua b/lua/nvim-treesitter/install.lua index 7d491549..c1201af5 100644 --- a/lua/nvim-treesitter/install.lua +++ b/lua/nvim-treesitter/install.lua @@ -169,6 +169,9 @@ local function run_install(cache_folder, install_folder, lang, repo, with_sync, end return end + if generate_from_grammar and vim.fn.executable('node') ~= 1 then + api.nvim_err_writeln('node JS not found: `node` is not executable!') + end local cc = shell.select_executable(M.compilers) if not cc then api.nvim_err_writeln('No C compiler found! "' -- cgit v1.2.3