From 36781b31377cb5f8841c7757b70656801e9808bf Mon Sep 17 00:00:00 2001 From: mitchell <70453897+667e-11@users.noreply.github.com> Date: Sun, 12 Feb 2017 17:55:07 -0500 Subject: Print lexer initialization errors like normal errors. Otherwise, stderr needs to be inspected. Requires Scintillua r584 (changeset fa39221dd5ad). --- modules/textadept/file_types.lua | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'modules/textadept/file_types.lua') diff --git a/modules/textadept/file_types.lua b/modules/textadept/file_types.lua index ad1f7d97..bc270da9 100644 --- a/modules/textadept/file_types.lua +++ b/modules/textadept/file_types.lua @@ -62,11 +62,18 @@ end local SETDIRECTPOINTER = _SCINTILLA.properties.doc_pointer[2] local SETLEXERLANGUAGE = _SCINTILLA.properties.lexer_language[2] +local GETERROR = _SCINTILLA.properties.status[1] -- LuaDoc is in core/.buffer.luadoc. local function set_lexer(buffer, lang) if not lang then lang = detect_language(buffer) end buffer:private_lexer_call(SETDIRECTPOINTER, buffer.direct_pointer) buffer:private_lexer_call(SETLEXERLANGUAGE, lang) + local errmsg = buffer:private_lexer_call(GETERROR) + if #errmsg > 0 then + buffer:private_lexer_call(SETLEXERLANGUAGE, 'text') + ui.print(errmsg) + return -- do not error() since the stack trace implicates this function + end buffer._lexer = lang if package.searchpath(lang, package.path) then _M[lang] = require(lang) end if buffer ~= ui.command_entry then events.emit(events.LEXER_LOADED, lang) end -- cgit v1.2.3