如何在構建系統中使用自定義擴展名(如*.ltx
,*.cmake
等)定義選擇器,但沒有可用的選擇器(如text.tex.latex
,source.c++
等)?Sublime Text 2:構建系統自定義選擇器
可能嗎?如果是 - 如何?
如何在構建系統中使用自定義擴展名(如*.ltx
,*.cmake
等)定義選擇器,但沒有可用的選擇器(如text.tex.latex
,source.c++
等)?Sublime Text 2:構建系統自定義選擇器
可能嗎?如果是 - 如何?
如果你定義了一個新的語法定義(即新的.tmLanguage文件),這是可能的。語法定義可以聲明新的「作用域名稱」,然後您可以在新的自定義生成系統中使用它們。
新的語法定義文件實際上並不需要定義/匹配文件的語法,因爲您可以通過文件擴展名簡單匹配......!
使用.tmLanguage文件語法查看here。 「scopeName」項允許您命名新的作用域(即「text.tex.latex」等)。我將通過下面的一個例子。
我創建了定義了新的範圍新的語法 - 這是很容易的(就像在崇高的大多數事情):
{ "name": "Syntax Name", "scopeName": "source.syntax_name", "fileTypes": [""], "patterns": [ ], "uuid": "..." }
...用描述性的名稱,「source.syntax_name」你的新範圍名稱代替「語法名稱」,並填寫「文件類型」包含一個或多個文件擴展名。例如:
"fileTypes": ["tex", "ltx"]
你完成了!任何碰巧有「fileTypes」中定義的擴展名的新文件都會激活「scopeName」作用域。
現在,您可以在一個新的構建系統文件中使用此範圍(工具>構建系統>新構建系統...)
乾杯!
我可以使用它來使Textmate 2中的Latex代碼中的\ section {text}標題變大嗎? http://tex.stackexchange.com/questions/98574/textmate-2-how-can-increase-font-size-of-sections-in-the-markup-code –
@ macmadness86不幸的是,沒有。我看了一下關於.tmTheme語法的東西,看起來它只支持'fontStyle'(其中Sublime支持'bold'和'italic')和'foreground'和'background'顏色。我試圖設置一個自定義的「fontSize」設置無濟於事。看到這裏(特別是在評論中):http://sublimetext.userecho.com/topic/20780-implement-fontstyle-in-tmtheme/和http://stackoverflow.com/questions/9345222/syntax-specific-highlighting-與崇高文本2以及 –