aboutsummaryrefslogtreecommitdiff
path: root/vis-lua.c
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2015-12-26 14:45:24 +0100
committerMarc André Tanner <mat@brain-dump.org>2015-12-26 21:29:15 +0100
commit249a885f614c1b4a22a346ee564a07052a5ac2ba (patch)
tree0b2a605e5eb97984b8095e6aa63c6b9b820d81d9 /vis-lua.c
parent13a95942b6e33033e4bbbe27cc8cafc98c6924a2 (diff)
downloadvis-249a885f614c1b4a22a346ee564a07052a5ac2ba.tar.gz
vis-249a885f614c1b4a22a346ee564a07052a5ac2ba.tar.xz
vis: change Lua package.path to also include vis base directory
Diffstat (limited to 'vis-lua.c')
-rw-r--r--vis-lua.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/vis-lua.c b/vis-lua.c
index d597772..2e74761 100644
--- a/vis-lua.c
+++ b/vis-lua.c
@@ -368,10 +368,10 @@ void vis_lua_start(Vis *vis) {
}
/* extends lua's package.path with:
- * - $VIS_PATH/lexers
- * - $HOME/.vis/lexers
- * - /usr/local/share/vis/lexers
- * - /usr/share/vis/lexers
+ * - $VIS_PATH/{,lexers}
+ * - $HOME/.vis{,lexers}
+ * - /usr/local/share/vis/{,lexers}
+ * - /usr/share/vis/{,lexers}
* - package.path (standard lua search path)
*/
int paths = 3;
@@ -380,20 +380,24 @@ void vis_lua_start(Vis *vis) {
const char *vis_path = getenv("VIS_PATH");
if (vis_path) {
lua_pushstring(L, vis_path);
+ lua_pushstring(L, "/?.lua;");
+ lua_pushstring(L, vis_path);
lua_pushstring(L, "/lexers/?.lua;");
- lua_concat(L, 2);
+ lua_concat(L, 4);
paths++;
}
if (home && *home) {
lua_pushstring(L, home);
+ lua_pushstring(L, "/.vis/?.lua;");
+ lua_pushstring(L, home);
lua_pushstring(L, "/.vis/lexers/?.lua;");
- lua_concat(L, 2);
+ lua_concat(L, 4);
paths++;
}
- lua_pushstring(L, "/usr/local/share/vis/lexers/?.lua;");
- lua_pushstring(L, "/usr/share/vis/lexers/?.lua;");
+ lua_pushstring(L, "/usr/local/share/vis/?.lua;/usr/local/share/vis/lexers/?.lua");
+ lua_pushstring(L, "/usr/share/vis/?.lua;/usr/share/vis/lexers/?.lua");
lua_getfield(L, -paths, "path");
lua_concat(L, paths);
lua_setfield(L, -2, "path");