vis
a vi-like editor based on Plan 9's structural regular expressions
git clone https://9o.is/git/vis.git
commit 0911c7bc085bb8dd70e7aeedad3a8313b9324768 parent 1be2aa47f7ec110c963ffd671721d383568a239c Author: Marc André Tanner <mat@brain-dump.org> Date: Sat, 7 Nov 2015 16:39:03 +0100 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 Diffstat:
| A | lexers/themes/default-256.lua | | | 2 | ++ |
| D | lexers/themes/default.lua | | | 2 | -- |
| M | ui-curses.c | | | 3 | +++ |
| M | vis.c | | | 1 | - |
4 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/lexers/themes/default-256.lua 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 @@ -1 +0,0 @@ -solarized.lua -\ No newline at end of file diff --git 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 @@ -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;