diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/textadept/editing.lua | 2 | ||||
-rw-r--r-- | modules/textadept/keys.lua | 2 | ||||
-rw-r--r-- | modules/textadept/mime_types.lua | 30 | ||||
-rw-r--r-- | modules/textadept/snippets.lua | 6 |
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 = |