是否有一个Common Lisp语法突出显示.xshd文件,用于ICSharpCode.TextEditor?我无法在谷歌上找到一个,并且编写语法突出显示规范文件的格式非常难以记录,以至于我自己无法创建一个非常好的文档。我可以突出显示基本关键字,但不多。
需要具备以下条件:
list
,dolist
,read-line
。 lambda
等等。defun
,defmacro
,defvar
等之后的字词,以便在文本(defun a () ...)
中突出显示a
。它不必是完整的,因为我可以添加更多,只需要一两个就可以显示它是如何完成的。:a
,
,@,
转义等)(a b c)
中,a
需要突出显示有谁知道在哪里可以获得具有这些功能的ICSharpCode.TextEditor的Common Lisp语法高亮显示文件?
答案 0 :(得分:3)
这是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>