你们中的任何人是否已成功将词法分析器添加到scintilla?

我一直遵循http://www.scintilla.org/SciTELexer.html上的简短说明-甚至在http://www.scintilla.org/ScintillaDoc.html#BuildingScintilla(更改词法集)上发现了秘密的额外说明。

一切都可以编译,我可以将词法分析器添加到SciTE中,但是我的ColouriseMapfileDoc方法不会被调用(printf不会产生输出)。如果我将相同的代码添加到例如ColouriseLuaDoc词法分析器,一切都很好(printf确实可以产生输出)。

具体来说我有


scintilla/include/Scintilla.iface中,添加了val SCLEX_MAPFILE=99
以及任何词法类ID
在scintilla / include目录中,运行HFacer.py并确认SciLexer.h文件已更改。
使用LexMapfile.cxx函数创建的ColouriseMapfileDoc
在文件末尾,将词法分析器ID和名称与函数相关联:

LexerModule lmMapfile(SCLEX_MAPFILE,ColouriseMapfileDoc,“ mapfile”);
运行LexGen.py生成所有生成文件(按照秘密说明)
通过克隆scite/src/others.properties创建了一个新的SciTE属性文件
设置一些样式
scite/src/SciTEGlobal.properties中,将$(filter.conf)添加到open.filter的定义中。
将此语言添加到SciTE的“语言”菜单中,
建立了Scintilla和SciTE。
抱怨和诅咒。


除了第12步,我在做什么错?

最佳答案

如果将来有人读到这个问题-您还必须添加一行
import yourformat中的SciTEGlobal.properties。这是未记录的步骤9b。

09-25 20:56