我正在使用ScintillaNET作为Scintilla控件的包装器。我想更改特定语言的关键字(用于语法突出显示),我假设我必须为此构建自己的SciLexer.dll版本。但我在Scintilla项目中找不到这些语言的关键字文件。它们在哪里?我如何更改它们?
发布于 2010-12-04 13:21:47
您不需要构建自己的SciLexer.dll,ScintillaNET支持XML配置文件。如下所示设置闪光灯的属性:
// Relative to your running directory
scintilla1.ConfigurationManager.CustomLocation = "Config.xml";
//Name of the language as defined in the file
scintilla1.ConfigurationManager.Language = "MyLanguage";然后创建一个配置文件,如下所示,它基于lua:
<?xml version="1.0" encoding="utf-8"?>
<ScintillaNET>
<!--This is what you set the Language property to-->
<Language Name="lua">
<!--These are characters after which autocomplete will open-->
<AutoComplete FillUpCharacters=".([" SingleLineAccept="True" IsCaseSensitive="False">
<List>
<!--Insert autocomplete keywords here-->
and break do else elseif end false for function
if in local nil not or repeat return then true until while
</List>
</AutoComplete>
<!--Indentation width and indentation type-->
<Indentation TabWidth="4" SmartIndentType="cpp" />
<!--Comment characters and the lexer to use-->
<Lexer LexerName="lua" LineCommentPrefix="--" StreamCommentPrefix="--[[ " StreamCommentSuffix=" ]]" >
<Keywords List="0" Inherit="False">
<!--Insert highlighted keywords here-->
and break do else elseif end false for function
if in local nil not or repeat return then true until while
</Keywords>
</Lexer>
</Language>
</ScintillaNET>https://stackoverflow.com/questions/4351871
复制相似问题