From 91f29f5b146453e67e15f8e91571b0f806526d1f Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Tue, 21 Jul 2015 21:46:40 +0200 Subject: fixed scite2co.lua: use SCI_SETLEXERLANGUAGE instead of SCI_SETLEXER * the lexer names used in SciTE property files are not SCLEX constants but the internal LexerModule names, so auto-generated SciTECO lexer configurations can only be set by name, i.e. via SETLEXERLANGUAGE, since we cannot easily map those names to SCLEX constants. * should be about as fast as using SCI_SETLEXER (since SciTECO has to look up symbolic names as well at runtime). * this especially fixes opening *.mak files -- often Makefiles but identified as "Mako" files. The macro "lexer.set.mako" used the wrong SCLEX_ symbol. * will also fix the HTML and all other lexers that use the SCLEX_HTML/hypertext lexer. * all lexer files have been updated, to be more compatible with scite2co.lua's output. This eases lexer updates in the future. --- lib/scite2co.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'lib/scite2co.lua') diff --git a/lib/scite2co.lua b/lib/scite2co.lua index c0e223a..b39c184 100755 --- a/lib/scite2co.lua +++ b/lib/scite2co.lua @@ -109,10 +109,14 @@ io.write([=[Q.r} ]=]) -- print [lexer.set...] macro +-- NOTE: The lexer encoded in the property file is not +-- a SCLEX_* name but rather the lexer's module name +-- as set by the LexerModule constructor. +-- Therefore we must emit SCI_SETLEXERLANGUAGE calls here. local lexer = expand(get_property_by_pattern("lexer.", file_patterns)) io.write([=[ @[lexer.set.]=]..language:lower()..[=[]{ - ESSETLEXER,SCLEX_]=]..lexer:upper()..[=[ + ESSETLEXERLANGUAGE]=]..lexer..[=[ ]=]) -- print keyword definitions with word wrapping for i = 1, 9 do -- cgit v1.2.3