From 5b8042ab1aa986d27e8974dbffe96bda6af61faf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Mon, 22 Jan 2018 16:13:09 +0100 Subject: lua: fix theme loading when lexer module is not available The color settings are currently stored in the `vis.lexers` table, make sure it is not nil even when loading the lexer module (or one of its dependencies e.g. lpeg) failed. --- lua/vis.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'lua/vis.lua') diff --git a/lua/vis.lua b/lua/vis.lua index 870fc52..479d1ee 100644 --- a/lua/vis.lua +++ b/lua/vis.lua @@ -113,6 +113,8 @@ vis.module_exist = function(vis, name) return false end +vis.lexers = {} + if not vis:module_exist('lpeg') then vis:info('WARNING: could not find lpeg module') elseif not vis:module_exist('lexer') then @@ -235,7 +237,6 @@ vis.events = events vis.types.window.set_syntax = function(win, syntax) local lexers = vis.lexers - if not lexers then return false end win:style_define(win.STYLE_DEFAULT, lexers.STYLE_DEFAULT or '') win:style_define(win.STYLE_CURSOR, lexers.STYLE_CURSOR or '') @@ -256,6 +257,7 @@ vis.types.window.set_syntax = function(win, syntax) return true end + if not lexers.load then return false end local lexer = lexers.load(syntax) if not lexer then return false end -- cgit v1.2.3