如何为ScintillaNet添加新的语言设置?

时间:2010-11-28 11:19:09

标签: c# .net syntax-highlighting scintilla

我正在编写一个C#程序,它使用文本编辑器编辑类似于使用ScintillaNet(rbf)编译的lua的文件格式。我知道您可以通过添加Xml文件并在CustomDirectory属性中引用它来向Scintilla添加新语言。我希望该语言与lua具有相同的Lexer / Parser,但没有关键字和代码完成。有人可以像这样张贴我可以用作例子的Xml代码吗?

目前看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<ScintillaNET>
  <Language Name="rbf">
    <Indentation TabWidth="4" SmartIndentType="cpp" />
    <Lexer LineCommentPrefix="--" StreamCommentPrefix="[[" StreamCommentSuffix="]]" >
    </Lexer>
    <Styles>
      <Style Name="DEFAULT" FontName="Courier New" Size="10"/>
      <Style Name="COMMENT" ForeColor="Green" Size="8"/>
      <Style Name="COMMENTLINE" ForeColor="Green" Size="8"/>
      <Style Name="NUMBER" ForeColor="Orange"/>
      <Style Name="WORD" ForeColor="Blue" Bold="Yes"/>
      <Style Name="WORD3" ForeColor="DarkBlue" Bold="Yes"/>
      <Style Name="WORD4" ForeColor="DarkBlue" Bold="Yes"/>
      <Style Name="WORD5" ForeColor="LightGreen" Bold="Yes"/>
    </Styles>
  </Language>
</ScintillaNET >

如果有人能告诉我如何为不同的样式(字符串,注释,数字等)设置默认颜色,我也会很有帮助。

1 个答案:

答案 0 :(得分:2)

我已经解决了,你添加这一行来从已经支持的语言继承词法分析器:

<Lexer LexerName="lua"/>

现在我需要知道的是如何禁用评论。