From 50d0707ad6896a00e650803bf8a9e9e6dd5df16e Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Thu, 20 Nov 2014 09:08:58 +0100 Subject: [PATCH] Re-add support for `g:lua_path` Commit 6d68f3d removed the functionality to define/override $LUA_PATH, but the documentation still mentions it. This also adds support for caching in xolox#lua#getsearchpath, which appears to be useful anyway. --- autoload/xolox/lua.vim | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/autoload/xolox/lua.vim b/autoload/xolox/lua.vim index d67616b..69ffe38 100644 --- a/autoload/xolox/lua.vim +++ b/autoload/xolox/lua.vim @@ -23,9 +23,16 @@ function! xolox#lua#includeexpr(fname) " {{{1 return a:fname endfunction +let s:lua_path_cache = ['', []] function! xolox#lua#getsearchpath(envvar, luavar) " {{{1 + if exists('g:lua_path') && s:lua_path_cache[0] == g:lua_path + return s:lua_path_cache[1] + endif + let path = '' - if xolox#misc#option#get('lua_internal', has('lua')) + if exists('g:lua_path') + let path = g:lua_path + elseif xolox#misc#option#get('lua_internal', has('lua')) " Try to get the search path using the Lua Interface for Vim. try redir => path @@ -36,6 +43,7 @@ function! xolox#lua#getsearchpath(envvar, luavar) " {{{1 redir END endtry endif + if empty(path) let path = eval(a:envvar) if !empty(path) @@ -51,7 +59,10 @@ function! xolox#lua#getsearchpath(envvar, luavar) " {{{1 endtry endif endif - return split(xolox#misc#str#trim(path), ';') + + let g:lua_path = path + let s:lua_path_cache = [path, split(xolox#misc#str#trim(path), ';')] + return s:lua_path_cache[1] endfunction function! xolox#lua#autocheck() " {{{1