gpt4 book ai didi

c# - ICSharpCode.TextEditor 的 Lisp 语法突出显示

转载 作者:太空狗 更新时间:2023-10-29 20:34:59 27 4
gpt4 key购买 nike

是否有用于 ICSharpCode.TextEditor 的 Common Lisp 语法突出显示 .xshd 文件?我一直无法在谷歌上找到一个,并且编写语法突出显示规范文件的格式是如此糟糕地记录在案,以至于我自己无法做出一个很好的。我可以突出显示基本关键字,但不能突出更多。

它需要具备以下条件:

  • 突出显示常见的 lisp 关键字,例如 listdolistread-linelambda
  • defundefmacrodefvar 等之后的单词的语法高亮显示,例如在文本 (defun a ( ) ...)a 被高亮显示。它不必是完整的,因为我可以添加更多,只需一两个就可以展示它是如何完成的。
  • 高亮符号,如 :a
  • 突出显示反引号和单引号形式的引用列表,并在引用列表中“取消突出显示”转义形式(由 @、 等转义)
  • 突出显示正在调用的函数的名称。比如文本(a b c)中,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>

关于c# - ICSharpCode.TextEditor 的 Lisp 语法突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7278940/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com