From 90cde82a9d867b3c5ff756a058af31b2c6358a69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Sat, 7 Nov 2015 16:39:03 +0100 Subject: ui: load syntax theme based on the number of supported colors The theme to use can be overriden via the $VIS_THEME environment variable. $ VIS_THEME=solarized vis --- lexers/themes/default-256.lua | 1 + lexers/themes/default.lua | 1 - ui-curses.c | 3 +++ vis.c | 1 - 4 files changed, 4 insertions(+), 2 deletions(-) create mode 120000 lexers/themes/default-256.lua delete mode 120000 lexers/themes/default.lua diff --git a/lexers/themes/default-256.lua b/lexers/themes/default-256.lua new file mode 120000 index 0000000..8479b1b --- /dev/null +++ b/lexers/themes/default-256.lua @@ -0,0 +1 @@ +solarized.lua \ No newline at end of file diff --git a/lexers/themes/default.lua b/lexers/themes/default.lua deleted file mode 120000 index 8479b1b..0000000 --- a/lexers/themes/default.lua +++ /dev/null @@ -1 +0,0 @@ -solarized.lua \ No newline at end of file diff --git a/ui-curses.c b/ui-curses.c index 79e75e5..313f3d6 100644 --- a/ui-curses.c +++ b/ui-curses.c @@ -987,6 +987,9 @@ static void ui_prompt_hide(Ui *ui) { static bool ui_init(Ui *ui, Vis *vis) { UiCurses *uic = (UiCurses*)ui; uic->vis = vis; + const char *theme = getenv("VIS_THEME"); + if (!theme || !theme[0] || !vis_theme_load(vis, theme)) + vis_theme_load(vis, COLORS <= 16 ? "default-16" : "default-256"); return true; } diff --git a/vis.c b/vis.c index dc56fb3..31e4ecf 100644 --- a/vis.c +++ b/vis.c @@ -365,7 +365,6 @@ Vis *vis_new(Ui *ui) { lua_pushvalue(L, -2); /* require return value */ lua_setfield(L, -2, "lexers"); lua_setglobal(L, "vis"); - vis_theme_load(vis, "default"); } vis->ui = ui; -- cgit v1.2.3