繁体   English   中英

用于ICSharpCode.TextEditor的Lisp语法高亮显示

[英]Lisp syntax highlighting for ICSharpCode.TextEditor

是否有一个Common Lisp语法突出显示.xshd文件以与ICSharpCode.TextEditor一起使用? 我无法在谷歌上找到一个,并且编写语法突出显示规范文件的格式非常难以记录,以至于我自己无法创建一个非常好的文档。 我可以突出显示基本关键字,但不是更多。

它需要具备以下条件:

  • 突出显示常见的lisp关键字,例如listdolistread-line lambda
  • 语法高亮后的话defundefmacrodefvar等,使得在文本(defun a () ...) a被高亮显示。 它不必是完整的,因为我可以添加更多,只需要一两个就可以显示它是如何完成的。
  • 突出显示符号:a
  • 亮点引述列出两个反引号和单引号的形式,而“unhighlight”援引逃脱列表中的形式(由逃脱,@,等)
  • 突出显示正在调用的函数的名称。 例如,在文本(abc) a需要强调
  • 可选:我错过的其他任何有用的东西(我是lisp的新手所以我不知道可以突出显示的所有内容)

有谁知道在哪里可以获得具有这些功能的ICSharpCode.TextEditor的Common Lisp语法高亮文件?

这是Scheme荧光笔的开始。 不是很花哨,但展示了递归如何与规则集一起使用。

<SyntaxDefinition name="Scheme" extensions=".sls;.sps;.ss;.scm" 
     xmlns="http://icsharpcode.net/sharpdevelop/syntaxdefinition/2008">
  <Color foreground="Green" name="Comment" />
  <Color foreground="Blue" name="Syntax" />
  <Color foreground="Blue" name="Library Syntax" />
  <Color foreground="Blue" name="Auxilliary Syntax" />
  <Color foreground="DarkMagenta" name="Procedure" />

  <RuleSet>
    <Import ruleSet="Expression"/>
  </RuleSet>

    <RuleSet name="Expression">
        <Span color="Comment" multiline="false">
            <Begin>;</Begin>
        </Span>
    <Span color="Comment" multiline="true" >
      <Begin>\#\|</Begin>
      <End>\|\#</End>
    </Span>
    <Span ruleSet="Expression" multiline="true" >
      <Begin fontWeight="bold">\(</Begin>
      <End fontWeight="bold">\)</End>
    </Span>
    <Span  ruleSet="Expression" multiline="true">
      <Begin fontWeight="bold">\#\(</Begin>
      <End fontWeight="bold">\)</End>
    </Span>

    <Keywords color="Library Syntax">
      <Word>import</Word>
      <Word>export</Word>
      <Word>library</Word>
    </Keywords>

    <Keywords color="Syntax">
      <Word>define</Word>
      <Word>set!</Word>
      <Word>lambda</Word>
      <Word>begin</Word>
      <Word>if</Word>
      <Word>cond</Word>
      <Word>let</Word>
      <Word>letrec</Word>
    </Keywords>

    <Keywords color="Auxilliary Syntax">
      <Word>else</Word>
    </Keywords>

    <Keywords color="Procedure">
      <Word>map</Word>
      <Word>cons</Word>
      <Word>car</Word>
    </Keywords>

  </RuleSet>

</SyntaxDefinition>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM