mirror of
https://github.com/neovim/neovim.git
synced 2025-09-12 06:18:16 +00:00
runtime: Update python_setup.vim to the new rpc function names
Also improve version checking.
This commit is contained in:
@@ -6,18 +6,21 @@ let did_python_setup = 1
|
|||||||
|
|
||||||
|
|
||||||
let s:get_version =
|
let s:get_version =
|
||||||
\ ' -c "import sys; sys.stdout.write(str(sys.version_info.major))"'
|
\ ' -c "import sys; sys.stdout.write(str(sys.version_info.major) + '.
|
||||||
|
\ '\".\" + str(sys.version_info.minor))"'
|
||||||
|
|
||||||
|
let s:supported = ['2.6', '2.7']
|
||||||
|
|
||||||
" To load the python host a python 2 executable must be available
|
" To load the python host a python 2 executable must be available
|
||||||
if exists('python_interpreter')
|
if exists('python_interpreter')
|
||||||
\ && executable(g:python_interpreter)
|
\ && executable(g:python_interpreter)
|
||||||
\ && system(g:python_interpreter.s:get_version) == "2"
|
\ && index(s:supported, system(g:python_interpreter.s:get_version)) >= 0
|
||||||
let s:python_interpreter = g:python_interpreter
|
let s:python_interpreter = g:python_interpreter
|
||||||
elseif executable('python') &&
|
elseif executable('python')
|
||||||
\ system('python'.s:get_version) == "2"
|
\ && index(s:supported, system('python'.s:get_version)) >= 0
|
||||||
let s:python_interpreter = 'python'
|
let s:python_interpreter = 'python'
|
||||||
elseif executable('python2') &&
|
elseif executable('python2')
|
||||||
\ system('python2'.s:get_version) == "2"
|
\ && index(s:supported, system('python2'.s:get_version)) >= 0
|
||||||
" In some distros, python3 is the default python
|
" In some distros, python3 is the default python
|
||||||
let s:python_interpreter = 'python2'
|
let s:python_interpreter = 'python2'
|
||||||
else
|
else
|
||||||
@@ -33,12 +36,12 @@ if s:import_result != 'ok'
|
|||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let s:pyhost_id = api_spawn(s:python_interpreter,
|
let s:pyhost_id = rpcstart(s:python_interpreter,
|
||||||
\ ['-c', 'import neovim; neovim.start_host()'])
|
\ ['-c', 'import neovim; neovim.start_host()'])
|
||||||
" Evaluate an expression in the script host as an additional sanity check, and
|
" Evaluate an expression in the script host as an additional sanity check, and
|
||||||
" to block until all providers have been registered(or else some plugins loaded
|
" to block until all providers have been registered(or else some plugins loaded
|
||||||
" by the user's vimrc would not get has('python') == 1
|
" by the user's vimrc would not get has('python') == 1
|
||||||
if send_call(s:pyhost_id, 'python_eval', '"o" + "k"') != 'ok' || !has('python')
|
if rpcrequest(s:pyhost_id, 'python_eval', '"o"+"k"') != 'ok' || !has('python')
|
||||||
" Something went wrong
|
" Something went wrong
|
||||||
api_close(s:pyhost_id)
|
rpcstop(s:pyhost_id)
|
||||||
endif
|
endif
|
||||||
|
Reference in New Issue
Block a user