diff options
author | 2010-08-31 18:28:48 -0400 | |
---|---|---|
committer | 2010-08-31 18:28:48 -0400 | |
commit | f062973a81b74e5a5ea38602d74a8ee61aa76695 (patch) | |
tree | 90a15e45d4d3196d6a10dbad1c3872e39df895e0 /modules/textadept/mime_types.lua | |
parent | d4db80a3d354ba3c39038c8fb4a1477516fec6d8 (diff) | |
download | textadept-f062973a81b74e5a5ea38602d74a8ee61aa76695.tar.gz textadept-f062973a81b74e5a5ea38602d74a8ee61aa76695.zip |
Change Lua interface to support updated LPeg Scintilla lexer.
Diffstat (limited to 'modules/textadept/mime_types.lua')
-rw-r--r-- | modules/textadept/mime_types.lua | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/modules/textadept/mime_types.lua b/modules/textadept/mime_types.lua index c7b8690c..3bed5a8a 100644 --- a/modules/textadept/mime_types.lua +++ b/modules/textadept/mime_types.lua @@ -184,6 +184,8 @@ end for lexer in pairs(lexers_found) do lexers[#lexers + 1] = lexer end table.sort(lexers) +local SETDIRECTPOINTER = _SCINTILLA.properties.doc_pointer[2] +local SETLEXERLANGUAGE = _SCINTILLA.functions.set_lexer_language[1] -- -- Replacement for buffer:set_lexer_language(). -- Sets a buffer._lexer field so it can be restored without querying the @@ -195,7 +197,8 @@ table.sort(lexers) -- @usage buffer:set_lexer('language_name') local function set_lexer(buffer, lang) buffer._lexer = lang - buffer:set_lexer_language(lang) + buffer:private_lexer_call(SETDIRECTPOINTER, buffer.direct_pointer) + buffer:private_lexer_call(SETLEXERLANGUAGE, lang) local ret, err = pcall(require, lang) if ret then _m[lang].set_buffer_properties() @@ -263,7 +266,8 @@ end -- Sets the buffer's lexer based on filename, shebang words, or -- first line pattern. local function restore_lexer() - buffer:set_lexer_language(buffer._lexer or 'container') + buffer:private_lexer_call(SETDIRECTPOINTER, buffer.direct_pointer) + buffer:private_lexer_call(SETLEXERLANGUAGE, buffer._lexer or 'container') end events.connect('file_opened', handle_new) |