aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authormitchell <70453897+667e-11@users.noreply.github.com>2008-09-24 19:00:19 -0400
committermitchell <70453897+667e-11@users.noreply.github.com>2008-09-24 19:00:19 -0400
commit4554c2ca782ea2667570d81899142af8a642aa3b (patch)
treec467095e045703b26d460a9ff83de4d5691f45d8 /core
parent3a646edfda37563fc4cd1e4b0422c28193406c10 (diff)
downloadtextadept-4554c2ca782ea2667570d81899142af8a642aa3b.tar.gz
textadept-4554c2ca782ea2667570d81899142af8a642aa3b.zip
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'.
Diffstat (limited to 'core')
-rw-r--r--core/events.lua19
-rw-r--r--core/init.lua1
2 files changed, 16 insertions, 4 deletions
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'