你们有没有人成功地将词法分析器添加到scintilla中?
我一直在关注http://www.scintilla.org/SciTELexer.html的简短指示 - 甚至在http://www.scintilla.org/ScintillaDoc.html#BuildingScintilla(更改一套词汇表)中发现了额外的秘密指示
Everything编译,我可以将词法分析器添加到SciTE中,但我的ColouriseMapfileDoc方法不会被调用(printf不会产生输出)。如果我将相同的代码添加到例如ColouriseLuaDoc词法分析器,一切都很好(printf 产生输出)。
具体来说我有
scintilla/include/Scintilla.iface
中,添加了val SCLEX_MAPFILE=99
HFacer.py
并确认SciLexer.h
文件已更改。LexMapfile.cxx
函数ColouriseMapfileDoc
在文件末尾将词法分析器ID和名称与函数关联:
LexerModule lmMapfile(SCLEX_MAPFILE,ColouriseMapfileDoc,“mapfile”);
运行LexGen.py
以生成所有makefile(根据秘密说明)
scite/src/others.properties
scite/src/SciTEGlobal.properties
$(filter.conf)
中添加了open.filter
。我做错了什么,除了第12步?
答案 0 :(得分:3)
答案 1 :(得分:3)
如果将来有人读取此问题 - 您还必须添加一行导入 您在SciTEGlobal.properties中的格式。这是未记录的步骤9b。
不再需要此步骤。我编译了3.2.2,这是用import *完成的。其余步骤仍然完整且相关。
答案 2 :(得分:2)
我正在scintilla/lexer/LexOthers.cxx
中直接使用一个词法分析器,如http://www.scintilla.org/SciTELexer.html中所述。
对于scite 3.2.3,缺少步骤5b是您需要在LINK_LEXER(lmYouLexerMod);
中添加scintilla/src/Catalogue.cxx
。