From 6bc13b8d60bfbcdf18ee7f05c9cface86dff15e3 Mon Sep 17 00:00:00 2001 From: ZyX Date: Tue, 22 Jan 2013 19:41:28 +0400 Subject: [PATCH] Make g:powerline_* variables fixed*, added g:powerline_loaded The latter is required to be able to forbid sourcing powerline.vim * changes are ignored until script is resourced --- powerline/bindings/vim/powerline.vim | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/powerline/bindings/vim/powerline.vim b/powerline/bindings/vim/powerline.vim index ade94c7b..a180e520 100644 --- a/powerline/bindings/vim/powerline.vim +++ b/powerline/bindings/vim/powerline.vim @@ -1,13 +1,21 @@ -exec g:powerline_pycmd 'import uuid' -exec g:powerline_pycmd 'from powerline.core import Powerline' -exec g:powerline_pycmd 'powerline = Powerline("vim")' +if exists('g:powerline_loaded') + finish +endif +let g:powerline_loaded = 1 -if exists('*'. g:powerline_pyeval) - let s:pyeval = function(g:powerline_pyeval) +let s:powerline_pycmd = substitute(get(g:, 'powerline_pycmd', 'py'), '\v^(py)%[thon](3?)$', '\1\2', '') +let s:powerline_pyeval = get(g:, 'powerline_pyeval', s:powerline_pycmd.'eval') + +exec s:powerline_pycmd 'import uuid' +exec s:powerline_pycmd 'from powerline.core import Powerline' +exec s:powerline_pycmd 'powerline = Powerline("vim")' + +if exists('*'. s:powerline_pyeval) + let s:pyeval = function(s:powerline_pyeval) else - exec g:powerline_pycmd 'import json, vim' + exec s:powerline_pycmd 'import json, vim' function! s:pyeval(e) - exec g:powerline_pycmd 'vim.command("return " + json.dumps(eval(vim.eval("a:e"))))' + exec s:powerline_pycmd 'vim.command("return " + json.dumps(eval(vim.eval("a:e"))))' endfunction endif