diff options
Diffstat (limited to 'lua/vis-std.lua')
| -rw-r--r-- | lua/vis-std.lua | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/lua/vis-std.lua b/lua/vis-std.lua index 85defad..9ed0317 100644 --- a/lua/vis-std.lua +++ b/lua/vis-std.lua @@ -1,5 +1,25 @@ -- standard vis event handlers +vis.events.subscribe(vis.events.INIT, function() + local package_exist = function(name) + for _, searcher in ipairs(package.searchers or package.loaders) do + local loader = searcher(name) + if type(loader) == 'function' then + return true + end + end + return false + end + + if not package_exist('lpeg') then + vis:info('WARNING: could not find lpeg module') + elseif not package_exist('lexer') then + vis:info('WARNING: could not find lexer module') + else + vis.lexers = require('lexer') + end +end) + vis.events.subscribe(vis.events.THEME_CHANGE, function(name) if name ~= nil then local theme = 'themes/'..name @@ -7,7 +27,7 @@ vis.events.subscribe(vis.events.THEME_CHANGE, function(name) require(theme) end - if vis.lexers ~= nil then vis.lexers.lexers = {} end + if vis.lexers then vis.lexers.lexers = {} end for win in vis:windows() do win.syntax = win.syntax; |
