你们中的任何人是否已成功将词法分析器添加到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。