aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/textadept/editing.lua2
-rw-r--r--modules/textadept/keys.lua2
-rw-r--r--modules/textadept/mime_types.lua30
-rw-r--r--modules/textadept/snippets.lua6
4 files changed, 32 insertions, 8 deletions
diff --git a/modules/textadept/editing.lua b/modules/textadept/editing.lua
index 8de26f08..86ba64ae 100644
--- a/modules/textadept/editing.lua
+++ b/modules/textadept/editing.lua
@@ -194,7 +194,7 @@ end
function block_comment(comment)
local buffer = buffer
if not comment then
- comment = comment_string[buffer:get_lexer_language()]
+ comment = comment_string[buffer:get_lexer()]
if not comment then return end
end
local caret, anchor = buffer.current_pos, buffer.anchor
diff --git a/modules/textadept/keys.lua b/modules/textadept/keys.lua
index e72eae45..8cda6fb0 100644
--- a/modules/textadept/keys.lua
+++ b/modules/textadept/keys.lua
@@ -617,7 +617,7 @@ local function keypress(code, shift, control, alt)
end
keychain[#keychain + 1] = key_seq
- local lexer, scope = buffer:get_lexer_language(), nil
+ local lexer, scope = buffer:get_lexer(), nil
if SCOPES_ENABLED then
scope = buffer:get_style_name(buffer.style_at[buffer.current_pos])
end
diff --git a/modules/textadept/mime_types.lua b/modules/textadept/mime_types.lua
index 8f03adcd..70aa51fe 100644
--- a/modules/textadept/mime_types.lua
+++ b/modules/textadept/mime_types.lua
@@ -204,9 +204,33 @@ local function set_lexer(buffer, lang)
end
buffer:colourise(0, -1)
end
-events.connect('buffer_new', function() buffer.set_lexer = set_lexer end)
--- Scintilla's first buffer doesn't have this
-if not RESETTING then buffer.set_lexer = set_lexer end
+
+--
+-- Replacement for buffer:get_lexer_language().
+-- @param buffer The buffer to get the lexer langugae of.
+local function get_lexer(buffer)
+ return buffer:private_lexer_call(-1)
+end
+
+--
+-- Returns the name of the style associated with a style number.
+-- @param buffer The buffer to get the style name of.
+-- @param style_num A style number in the range 0 <= style_num < 256.
+-- @see buffer.style_at
+local function get_style_name(buffer, style_num)
+ if style_num < 0 or style_num > 255 then error('0 <= style_num < 256') end
+ return buffer:private_lexer_call(style_num)
+end
+
+events.connect('buffer_new', function()
+ buffer.set_lexer, buffer.get_lexer = set_lexer, get_lexer
+ buffer.get_style_name = get_style_name
+end)
+-- Scintilla's first buffer doesn't have these
+if not RESETTING then
+ buffer.set_lexer, buffer.get_lexer = set_lexer, get_lexer
+ buffer.get_style_name = get_style_name
+end
-- Performs actions suitable for a new buffer.
-- Sets the buffer's lexer language and loads the language module.
diff --git a/modules/textadept/snippets.lua b/modules/textadept/snippets.lua
index f0da90e5..e8af7ac1 100644
--- a/modules/textadept/snippets.lua
+++ b/modules/textadept/snippets.lua
@@ -314,7 +314,7 @@ function _insert(s_text)
local anchor, caret = buffer.anchor, buffer.current_pos
local lexer, style, start, s_name
if not s_text then
- lexer = buffer:get_lexer_language()
+ lexer = buffer:get_lexer()
style = buffer:get_style_name(buffer.style_at[caret])
buffer:word_left_extend()
start = buffer.current_pos
@@ -445,7 +445,7 @@ function _list()
end
local snippets = _G.snippets
add_snippets(snippets)
- local lexer = buffer:get_lexer_language()
+ local lexer = buffer:get_lexer()
local style = buffer:get_style_name(buffer.style_at[buffer.current_pos])
if snippets[lexer] and type(snippets[lexer]) == 'table' then
add_snippets(snippets[lexer])
@@ -461,7 +461,7 @@ end
-- Shows the style at the current caret position in a call tip.
function _show_style()
local buffer = buffer
- local lexer = buffer:get_lexer_language()
+ local lexer = buffer:get_lexer()
local style_num = buffer.style_at[buffer.current_pos]
local style = buffer:get_style_name(style_num)
local text =