aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2024-01-28 12:59:22 -0800
committerJustin M. Keyes <justinkz@gmail.com>2024-01-28 23:56:06 +0100
commite39b6d0c52410b59ad75312659ab278da42e42c6 (patch)
tree8bca0709d9cbe89a2a4ea3c10bc6d37011f4ebbb
parent50cd5ed360ee76352bdfe1a49fa5746731c0ee16 (diff)
downloadrneovim-e39b6d0c52410b59ad75312659ab278da42e42c6.tar.gz
rneovim-e39b6d0c52410b59ad75312659ab278da42e42c6.tar.bz2
rneovim-e39b6d0c52410b59ad75312659ab278da42e42c6.zip
fix(health): "attempt to concatenate nil"
Problem: If `neovim` module is not installed, python and ruby healthchecks fail: - ERROR Failed to run healthcheck for "provider.python" plugin. Exception: .../runtime/lua/provider/python/health.lua:348: attempt to concatenate local 'pyname' (a nil value) - ERROR Failed to run healthcheck for "provider.ruby" plugin. Exception: .../runtime/lua/provider/ruby/health.lua:25: attempt to index local 'host' (a nil value) Solution: Check for non-nil.
-rw-r--r--runtime/lua/provider/python/health.lua4
-rw-r--r--runtime/lua/provider/ruby/health.lua2
2 files changed, 3 insertions, 3 deletions
diff --git a/runtime/lua/provider/python/health.lua b/runtime/lua/provider/python/health.lua
index 825fddc917..8f77f1d4ba 100644
--- a/runtime/lua/provider/python/health.lua
+++ b/runtime/lua/provider/python/health.lua
@@ -255,7 +255,7 @@ function M.check()
'See :help provider-python for more information.',
'You may disable this provider (and warning) by adding `let g:loaded_python3_provider = 0` to your init.vim',
})
- elseif pyname ~= '' and python_exe == '' then
+ elseif pyname and pyname ~= '' and python_exe == '' then
if not vim.g[host_prog_var] then
local message = string.format(
'`g:%s` is not set. Searching for %s in the environment.',
@@ -343,7 +343,7 @@ function M.check()
end
end
- if python_exe == '' and pyname ~= '' then
+ if pyname and python_exe == '' and pyname ~= '' then
-- An error message should have already printed.
health.error('`' .. pyname .. '` was not found.')
elseif python_exe ~= '' and not check_bin(python_exe) then
diff --git a/runtime/lua/provider/ruby/health.lua b/runtime/lua/provider/ruby/health.lua
index b102cbe535..d43d7cf9b3 100644
--- a/runtime/lua/provider/ruby/health.lua
+++ b/runtime/lua/provider/ruby/health.lua
@@ -22,7 +22,7 @@ function M.check()
local ruby_detect_table = require('vim.provider.ruby').detect()
local host = ruby_detect_table[1]
- if host:find('^%s*$') then
+ if (not host) or host:find('^%s*$') then
health.warn('`neovim-ruby-host` not found.', {
'Run `gem install neovim` to ensure the neovim RubyGem is installed.',
'Run `gem environment` to ensure the gem bin directory is in $PATH.',