AvalonEdit コントロールを使用していますが、xshd-ruleset (tex 用) に小さな問題があります。
元のファイルの「Mike Krueger による TeX ドキュメント 2001 の構文定義 (Jedit から収集)」には、特別なキーワードに関するセクションがあり、それらを正しく使用する方法を知りたいと思っています。
<!-- some commands must be handled specially -->
<KeyWords name = "Keyword1" bold = "false" italic = "false" color = "Blue">
<Key word = "\$" />
<Key word = "\\" />
<Key word = "\%" />
</KeyWords>
キーワードは青く色付けされてこれだけで処理されると思いますが、他のルールでもこれらのキーワードの一部を処理しています。例えば
<Span name = "LineComment" color = "SlateGray" stopateol = "true">
<Begin>%</Begin>
</Span>
したがって、テキストに「\%」がある場合、「\」を超えるものはすべて灰色になります...
'\' が前にある場合、そのキーワードが規則、例えば '$' と '%' を禁止する場合、それは非常に良いでしょう。
私がしなければならないこと?それとも、ルールセットを理解していませんでした...
編集:
"\\" は、keyword1 エントリで処理されます。< MarkFollowing ... は "\\" には使用されませんが、< Span ... はまだ "\$" と "\%" の強調表示を行っています。
見つけた
escapecharacter="\"
しかし、それは機能していません。
EDIT2:
新しい構文強調表示の定義では、問題は同じだと思います。tex の強調表示と c# の強調表示を比較しました。c# には次のようなものがあります。
<Span color="String">
<Begin>"</Begin>
<End>"</End>
<RuleSet>
<!-- span for escape sequences -->
<Span begin="\\" end="."/>
</RuleSet>
</Span>
私はsharpdevelopを使用していませんが、「」のような文字をエスケープしている場合、強調表示が失敗しないことは機能していると思います。したがって、私のファイルでは、次のように似ています
<Span foreground="#FF708090" fontWeight="normal" fontStyle="italic">
<Begin>%</Begin>
<RuleSet>
<Span begin="\\" end="." />
</RuleSet>
</Span>
しかし、それは機能していません...エスケープ文字が < Rule > であるため、問題がある可能性がありますか?