有没有人成功地将词法分析器添加到闪烁?
我一直在遵循 http://www.scintilla.org/SciTELExer.html 上的简短说明 - 甚至在http://www.scintilla.org/ScintillaDoc.html#BuildingScintilla发现了秘密的额外说明(更改 Lexers 集)
一切都可以编译,我可以很好地将词法分析器添加到 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
以生成所有 makefile(根据秘密说明)- 通过克隆创建了一个新的 SciTE 属性文件
scite/src/others.properties
- 设置一些样式
scite/src/SciTEGlobal.properties
添加到$(filter.conf)
的定义中open.filter
。- 将此语言添加到 SciTE 的语言菜单中,
- 构建了 Scintilla 和 SciTE。
- 抱怨和诅咒。
除了第 12 步之外,我做错了什么?