From 47e82949164c23973dbad72d3982d9aef557d118 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Sat, 5 Nov 2016 16:28:59 +0100 Subject: vis: display Lua package.cpath in :help output These paths are used to load the Lua LPeg module (lpeg.so) and are thus helpful when diagnosing setup problems in case syntax highlighting does not work. --- vis-lua.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'vis-lua.c') diff --git a/vis-lua.c b/vis-lua.c index 7f045fa..8431111 100644 --- a/vis-lua.c +++ b/vis-lua.c @@ -123,7 +123,7 @@ static void window_status_update(Vis *vis, Win *win) { #if !CONFIG_LUA bool vis_lua_path_add(Vis *vis, const char *path) { return true; } -const char *vis_lua_paths_get(Vis *vis) { return NULL; } +bool vis_lua_paths_get(Vis *vis, const char **lpath, const char **cpath) { return false; } void vis_lua_init(Vis *vis) { } void vis_lua_start(Vis *vis) { } void vis_lua_quit(Vis *vis) { } @@ -1343,13 +1343,19 @@ bool vis_lua_path_add(Vis *vis, const char *path) { return true; } -const char *vis_lua_paths_get(Vis *vis) { +bool vis_lua_paths_get(Vis *vis, char **lpath, char **cpath) { lua_State *L = vis->lua; if (!L) - return NULL; + return false; + const char *s; lua_getglobal(L, "package"); lua_getfield(L, -1, "path"); - return lua_tostring(L, -1); + s = lua_tostring(L, -1); + *lpath = s ? strdup(s) : NULL; + lua_getfield(L, -2, "cpath"); + s = lua_tostring(L, -1); + *cpath = s ? strdup(s) : NULL; + return true; } static bool package_exist(Vis *vis, lua_State *L, const char *name) { -- cgit v1.2.3