aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/scite2co.lua
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2015-07-21 21:46:40 +0200
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2015-07-21 21:46:40 +0200
commit91f29f5b146453e67e15f8e91571b0f806526d1f (patch)
tree138ce33ded4eb3e99c2d3b837ad22ebf34155cca /lib/scite2co.lua
parent789c72c06e6d01d8cc51103219475657b3ea4877 (diff)
downloadsciteco-91f29f5b146453e67e15f8e91571b0f806526d1f.tar.gz
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.
Diffstat (limited to 'lib/scite2co.lua')
-rwxr-xr-xlib/scite2co.lua6
1 files changed, 5 insertions, 1 deletions
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