Use python’s try/catch, not vim’s

Fixes #344
This commit is contained in:
ZyX 2013-03-22 16:50:06 +04:00
parent 127a600e1b
commit e151b600b2

View File

@ -21,14 +21,12 @@ let s:powerline_pyeval = get(g:, 'powerline_pyeval', s:powerline_pycmd.'eval')
let s:import_cmd = 'from powerline.vim import VimPowerline' let s:import_cmd = 'from powerline.vim import VimPowerline'
try try
exec s:powerline_pycmd s:import_cmd exec s:powerline_pycmd "try:\n"
catch \ ." ".s:import_cmd."\n"
" An error occurred while importing the module, it could be installed \ ."except ImportError:\n"
" outside of Python's module search paths. Update sys.path and try again. \ ." import sys, vim\n"
exec s:powerline_pycmd 'import sys, vim' \ ." sys.path.append(vim.eval('expand(\"<sfile>:h:h:h:h:h\")'))\n"
exec s:powerline_pycmd 'sys.path.append(vim.eval(''expand("<sfile>:h:h:h:h:h")''))' \ ." ".s:import_cmd
try
exec s:powerline_pycmd s:import_cmd
let s:launched = 1 let s:launched = 1
finally finally
if !exists('s:launched') if !exists('s:launched')
@ -37,9 +35,10 @@ catch
\ Python version (Powerline requires Python 2.6+ or 3.2+ to work). Please consult \ Python version (Powerline requires Python 2.6+ or 3.2+ to work). Please consult
\ the troubleshooting section in the documentation for possible solutions.') \ the troubleshooting section in the documentation for possible solutions.')
finish finish
else
unlet s:launched
endif endif
endtry endtry
endtry
if !get(g:, 'powerline_debugging_pyeval') && exists('*'. s:powerline_pyeval) if !get(g:, 'powerline_debugging_pyeval') && exists('*'. s:powerline_pyeval)
let s:pyeval = function(s:powerline_pyeval) let s:pyeval = function(s:powerline_pyeval)