From 0cd664d8f7c0e97c08cbced9b29f2f9b9f102344 Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Tue, 14 Apr 2015 20:11:21 +0200 Subject: [PATCH] Drop jedi#get_force_py_version again, handle 'auto' once --- autoload/jedi.vim | 56 +++++++++++++++++++++++------------------------ 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/autoload/jedi.vim b/autoload/jedi.vim index d67e807..0479573 100644 --- a/autoload/jedi.vim +++ b/autoload/jedi.vim @@ -337,38 +337,38 @@ call s:init() let s:script_path = fnameescape(expand(':p:h:h')) -" Get g:jedi#force_py_version, handling "auto" on first call. -function! jedi#get_force_py_version() - if g:jedi#force_py_version == 'auto' - let s:def_py = system("python -c 'import sys; sys.stdout.write(str(sys.version_info[0]))'") - if v:shell_error == 0 && len(s:def_py) - let g:jedi#force_py_version = s:def_py - else - if !exists("g:jedi#squelch_py_warning") - echomsg "Error: jedi-vim failed to get Python version from sys.version_info: " . s:def_py - endif +if g:jedi#force_py_version == 'auto' + " Get default python version from interpreter in $PATH. + let s:def_py = system("python -c 'import sys; sys.stdout.write(str(sys.version_info[0]))'") + if v:shell_error == 0 && len(s:def_py) + let g:jedi#force_py_version = s:def_py + else + if !exists("g:jedi#squelch_py_warning") + echomsg "Error: jedi-vim failed to get Python version from sys.version_info: " . s:def_py + echomsg "Falling back to version 2." endif + let g:jedi#force_py_version = 2 endif - return g:jedi#force_py_version -endfunction -" NOTE: nvim usually has both python providers. Skipping the `has` check -" avoids starting both of them. -if has('nvim') || (has('python') && has('python3')) - " Use default python with Jedi. - call jedi#force_py_version(jedi#get_force_py_version()) -elseif has('python') - command! -nargs=1 Python python - execute 'pyfile '.s:script_path.'/initialize.py' -elseif has('python3') - command! -nargs=1 Python python3 - execute 'py3file '.s:script_path.'/initialize.py' + if has('nvim') || (has('python') && has('python3')) + " Neovim usually has both python providers. Skipping the `has` check + " avoids starting both of them. + call jedi#force_py_version(g:jedi#force_py_version) + elseif has('python') + command! -nargs=1 Python python + execute 'pyfile '.s:script_path.'/initialize.py' + elseif has('python3') + command! -nargs=1 Python python3 + execute 'py3file '.s:script_path.'/initialize.py' + else + if !exists("g:jedi#squelch_py_warning") + echomsg "Error: jedi-vim requires vim compiled with +python" + endif + finish + end else - if !exists("g:jedi#squelch_py_warning") - echomsg "Error: jedi-vim requires vim compiled with +python" - endif - finish -endif + call jedi#force_py_version(g:jedi#force_py_version) +end "Python jedi_vim.jedi.set_debug_function(jedi_vim.print_to_stdout, speed=True, warnings=False, notices=False)