From 004bb689fcd3b945f0ca724ed73f9e1215f6ec34 Mon Sep 17 00:00:00 2001 From: mitchell <70453897+667e-11@users.noreply.github.com> Date: Fri, 21 Jun 2013 13:11:41 -0400 Subject: Always emit `events.LANGUAGE_MODULE_LOADED`; modules/textadept/mime_types.lua Creates an empty language-specific module if none exists. This enables users to add keys and snippets for any lexer without an existing language-specific module. It also allows themes to override styles for any lexer. --- modules/textadept/mime_types.lua | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'modules') diff --git a/modules/textadept/mime_types.lua b/modules/textadept/mime_types.lua index 39ba8be7..be21824e 100644 --- a/modules/textadept/mime_types.lua +++ b/modules/textadept/mime_types.lua @@ -88,12 +88,11 @@ local function set_lexer(buffer, lang) buffer._lexer = lang buffer:private_lexer_call(SETDIRECTPOINTER, buffer.direct_pointer) buffer:private_lexer_call(SETLEXERLANGUAGE, lang) - if package.searchpath(lang, package.path) then - _M[lang] = require(lang) - local post_init = lang..'.post_init' - if package.searchpath(post_init, package.path) then require(post_init) end - events.emit(events.LANGUAGE_MODULE_LOADED, lang) - end + _M[lang] = package.searchpath(lang, package.path) and require(lang) or {} + keys[lang], snippets[lang] = keys[lang] or {}, snippets[lang] or {} + local post_init = lang..'.post_init' + if package.searchpath(post_init, package.path) then require(post_init) end + events.emit(events.LANGUAGE_MODULE_LOADED, lang) local last_line = buffer.first_visible_line + buffer.lines_on_screen buffer:colourise(0, buffer:position_from_line(last_line + 1)) end -- cgit v1.2.3