aboutsummaryrefslogtreecommitdiff
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
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'.
-rw-r--r--core/events.lua19
-rw-r--r--core/init.lua1
-rw-r--r--themes/scite/buffer.lua20
-rw-r--r--themes/scite/view.lua (renamed from themes/scite.lua)0
4 files changed, 36 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'
diff --git a/themes/scite/buffer.lua b/themes/scite/buffer.lua
new file mode 100644
index 00000000..d46cc88a
--- /dev/null
+++ b/themes/scite/buffer.lua
@@ -0,0 +1,20 @@
+-- Copyright 2007-2008 Mitchell mitchell<att>caladbolg.net. See LICENSE.
+-- SciTE editor theme for Textadept.
+
+local textadept, buffer = textadept, buffer
+
+-- folding
+buffer.property['fold'] = '1'
+buffer.property['fold.by.indentation'] = '1'
+
+-- tabs and indentation
+buffer.tab_width = 2
+buffer.use_tabs = false
+buffer.indent = 2
+buffer.tab_indents = true
+buffer.back_space_un_indents = true
+buffer.indentation_guides = 1
+
+-- various
+buffer.eol_mode = textadept.constants.SC_EOL_LF
+buffer.auto_c_choose_single = true
diff --git a/themes/scite.lua b/themes/scite/view.lua
index 3a1c2576..3a1c2576 100644
--- a/themes/scite.lua
+++ b/themes/scite/view.lua