From 0583ca63a52e2dea8945475e726d1c7d55da2ec7 Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Sat, 22 Oct 2016 17:35:01 +0200 Subject: Improve error reporting for Python health check - s:version_info: return errors from the `import` - skip report_ok for latest version, in case the current version was not found. status contains the error that has been reported in that case already. --- runtime/autoload/health/provider.vim | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/runtime/autoload/health/provider.vim b/runtime/autoload/health/provider.vim index a26ac7e902..1d181f9ac4 100644 --- a/runtime/autoload/health/provider.vim +++ b/runtime/autoload/health/provider.vim @@ -155,13 +155,10 @@ function! s:version_info(python) abort endif let nvim_path = s:trim(s:system([ - \ a:python, - \ '-c', - \ 'import neovim; print(neovim.__file__)'])) - let nvim_path = s:shell_error ? '' : nvim_path - - if empty(nvim_path) - return [python_version, 'unable to find nvim executable', pypi_version, 'unable to get nvim executable'] + \ a:python, '-c', 'import neovim; print(neovim.__file__)'])) + if s:shell_error || empty(nvim_path) + return [python_version, 'unable to load neovim Python module', pypi_version, + \ nvim_path] endif " Assuming that multiple versions of a package are installed, sort them @@ -172,7 +169,7 @@ function! s:version_info(python) abort return a == b ? 0 : a > b ? 1 : -1 endfunction - let nvim_version = 'unable to find nvim version' + let nvim_version = 'unable to find neovim Python module version' let base = fnamemodify(nvim_path, ':h') let metas = glob(base.'-*/METADATA', 1, 1) \ + glob(base.'-*/PKG-INFO', 1, 1) @@ -390,7 +387,7 @@ function! s:check_python(version) abort if s:is_bad_response(status) call health#report_warn(printf('Latest %s-neovim is NOT installed: %s', \ python_bin_name, latest)) - elseif !s:is_bad_response(latest) + elseif !s:is_bad_response(latest) !s:is_bad_response(current) call health#report_ok(printf('Latest %s-neovim is installed: %s', \ python_bin_name, latest)) endif -- cgit