2010-11-09 20 views
2

我使用的AvalonEdit控制和我有一個小問題與xshd-規則集(用於TEX):AvalonEdit XSHD-規則集(用於TEX)

有原始文件「syntaxdefinition的部分由Mike Krueger於2001年收集的關於特殊關鍵字的TeX文檔「(來自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> 

所以,如果你在你的文字都超越了「\」會被灰色的「\%」 ...

這將是非常好的,如果關鍵字例如禁止規則如果之前有'\'則爲'$'和'%'。

我該怎麼辦?或者沒有我理解的規則集...

編輯

「\\」是由關鍵字1項進行處理。 < MarkFollowing ...不適用於「\\」,但<範圍...仍在爲「\ $」和「\%」突出顯示。

我發現

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> 

,但它不工作...也許是有問題的,因爲轉義字符是<規則>?

回答

1

嘗試移植文件到新的格式,請參閱http://community.sharpdevelop.net/forums/p/10468/28886.aspx#28886詳細內容。

在新格式中,您可以在規則中使用正則表達式,這應該比使用關鍵字/ MarkFollowing僞造TeX構造更好。

在你的EDIT2上: 如果你希望\是TeX代碼中的一個轉義序列(在註釋前面,而不是字符串/註釋中的轉義符號),然後使用主規則集:

<Span begin="\\" end="."/> 
<Span foreground="#FF708090" fontWeight="normal" fontStyle="italic"> 
    <Begin>%</Begin> 
</Span> 
+0

謝謝。現在我正在使用新的xshd文件,但我很確定如何解決我的問題... – zee 2010-11-14 19:49:36