From 4554c2ca782ea2667570d81899142af8a642aa3b Mon Sep 17 00:00:00 2001 From: mitchell <70453897+667e-11@users.noreply.github.com> Date: Wed, 24 Sep 2008 19:00:19 -0400 Subject: Added _THEME variable; themes are now directories with view.lua and buffer.lua. Now editing core/events.lua's buffer_new handler function is no longer necessary on a per-user basis. If _THEME is set, that theme's buffer.lua is loaded for a 'buffer_new' event, and view.lua for 'view_new'. --- core/events.lua | 19 +++++++++++++++---- core/init.lua | 1 + 2 files changed, 16 insertions(+), 4 deletions(-) (limited to 'core') diff --git a/core/events.lua b/core/events.lua index c707b872..48575b8e 100644 --- a/core/events.lua +++ b/core/events.lua @@ -208,16 +208,18 @@ add_handler('view_new', buffer.property['textadept.home'] = _HOME buffer.property['lexer.lua.home'] = _HOME..'/lexers/' buffer.property['lexer.lua.script'] = _HOME..'/lexers/lexer.lua' - --buffer.property['lexer.lua.color.theme'] = 'scite' + if _THEME and #_THEME > 0 then + buffer.property['lexer.lua.color.theme'] = _THEME + end -- lexer buffer.style_bits = 8 buffer.lexer = c.SCLEX_LPEG buffer:set_lexer_language('container') - local theme = buffer:get_property_expanded('lexer.lua.color.theme') - if theme and theme ~= '' then - local ret, errmsg = pcall(dofile, _HOME..'/themes/'..theme..'.lua') + if _THEME and #_THEME > 0 then + local ret, errmsg = + pcall(dofile, _HOME..'/themes/'.._THEME..'/view.lua') if ret then return end io.stderr:write(errmsg) end @@ -286,6 +288,15 @@ add_handler('buffer_new', buffer.lexer = textadept.constants.SCLEX_LPEG buffer:set_lexer_language('container') + if _THEME and #_THEME > 0 then + local ret, errmsg = + pcall(dofile, _HOME..'/themes/'.._THEME..'/buffer.lua') + if ret then return end + io.stderr:write(errmsg) + end + + -- Default theme. + -- folding buffer.property['fold'] = '1' buffer.property['fold.by.indentation'] = '1' diff --git a/core/init.lua b/core/init.lua index 82348f1f..6b491583 100644 --- a/core/init.lua +++ b/core/init.lua @@ -6,6 +6,7 @@ if not WIN32 then else package.cpath = _HOME..'/core/?.dll;'..package.cpath end +_THEME = '' require 'iface' require 'events' -- cgit v1.2.3