aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Hahler <git@thequod.de>2016-10-22 17:35:01 +0200
committerDaniel Hahler <git@thequod.de>2017-01-08 23:26:42 +0100
commit0583ca63a52e2dea8945475e726d1c7d55da2ec7 (patch)
tree6df658ede4c80f5db6761a880a1872b8ef187190
parent339dd4b1fb25db2c592cd93e01d83a5b03a66f66 (diff)
downloadrneovim-0583ca63a52e2dea8945475e726d1c7d55da2ec7.tar.gz
rneovim-0583ca63a52e2dea8945475e726d1c7d55da2ec7.tar.bz2
rneovim-0583ca63a52e2dea8945475e726d1c7d55da2ec7.zip
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.
-rw-r--r--runtime/autoload/health/provider.vim15
1 files 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