2012-02-18 133 views
5

我想知道是否有一種方法可以在同一個文件中爲不同語言標記使用兩種不同的標記顏色(用於美國人的「顏色」)。使用Sublime Text語法特定的高亮顯示2

例如,假設我在同一個.cfm文件中有ColdFusion代碼和HTML代碼。我可以將ColdFusion標記設爲紅色並將HTML標記設爲藍色?

例如,我們可以調用以下文件HelloWorld.cfm - 我可以用不同顏色標記顏色嗎?

<cfset myvar = "hello, world" /> 
<html> 
<head> 
    <title>This is my title</title> 
</head> 
<body> 

<div><cfoutput>#myvar#</cfoutput></div> 

</body> 
</html> 

謝謝!

回答

21

是的,只要通過安裝的語言定義可以將標籤標識爲具有不同的範圍,就可以編輯顏色方案以使用特定顏色和其他樣式定位這些範圍。

在您的包文件夾中,語言範圍是在.tmLanguage文件中爲您安裝的語言定義的,而樣式是在「color scheme - default」文件夾中的.tmTheme文件中定義的。

如果定位光標,標籤內,並按轉變 + CTRL + ALT +p轉變 - CMD-p在OSX我認爲)狀態欄將顯示當前範圍。您也可以通過這個控制檯使用此命令複製到剪貼板:

sublime.set_clipboard(view.syntax_name(view.sel()[0].b)) 

您可以使用這些信息來創建你的風格,有點像CSS選擇器,但與XML。例如,我使用Coldfusion package,我在下面的自定義.tmTheme文件中顯示範圍選擇器,以將cf標籤與HTML標籤區分開來。在scope selectors

<dict> 
    <key>name</key> 
    <string>Tag name</string> 
    <key>scope</key> 
    <string>entity.name.tag</string> 
    <key>settings</key> 
    <dict> 
     <key>background</key> 
     <string>#D8D0B6</string> 
     <key>fontStyle</key> 
     <string>bold</string> 
     <key>foreground</key> 
     <string>#647A4F</string> 
    </dict> 
</dict> 
<dict> 
    <key>name</key> 
    <string>CF tag name</string> 
    <key>scope</key> 
    <string>entity.name.tag.conditional.cfml, entity.name.tag.declaration.cfml, entity.name.tag.other, entity.name.tag.cf, entity.name.tag.inline.other.cfml</string> 
    <key>settings</key> 
    <dict> 
     <key>background</key> 
     <string>#D8D0B6</string> 
     <key>fontStyle</key> 
     <string>bold</string> 
     <key>foreground</key> 
     <string>#990033</string> 
    </dict> 
</dict> 

更多信息。

+0

謝謝傑里米,這是**正是**我正在尋找。獎勵! – NotJustClarkKent 2012-02-21 17:10:51

+4

@NotJustClarkKent:那麼將這個出色的答案標記爲「答案」(通過點擊複選標記)是適當的。 – 2012-03-06 08:14:51

4

我已更新ColdFusion.tmLanguage,因此您只需將entity.name.tag.cf作爲目標即可爲所有cf標記着色。您還可以分別針對cfscriptcfquery針對特定標籤,例如entity.name.tag.cf.scriptentity.name.tag.cf.query。 HTH

+1

謝謝Atomi :) - 我現在正在玩這些實體目標,但我擔心可能會有很多樂趣;) – NotJustClarkKent 2012-02-21 17:12:49

相關問題