2013-01-03 38 views

回答

12

如果你定義了一個新的語法定義(即新的.tmLanguage文件),這是可能的。語法定義可以聲明新的「作用域名稱」,然後您可以在新的自定義生成系統中使用它們。

新的語法定義文件實際上並不需要定義/匹配文件的語法,因爲您可以通過文件擴展名簡單匹配......!

使用.tmLanguage文件語法查看here。 「scopeName」項允許您命名新的作用域(即「text.tex.latex」等)。我將通過下面的一個例子。


我創建了定義了新的範圍新的語法 - 這是很容易的(就像在崇高的大多數事情):

  • 在命令面板,選擇「包控制:安裝包」
  • 在軟件包列表中,選擇「PackageDev」
  • 通過選擇工具>軟件包>程序包開發>新語法定義
  • 創建一個新的語法定義3210
  • 你新的語法定義如下所示:
 
{ "name": "Syntax Name", 
    "scopeName": "source.syntax_name", 
    "fileTypes": [""], 
    "patterns": [ 
    ], 
    "uuid": "..." 
}

...用描述性的名稱,「source.syntax_name」你的新範圍名稱代替「語法名稱」,並填寫「文件類型」包含一個或多個文件擴展名。例如:

"fileTypes": ["tex", "ltx"]

  • 保存使用包下一個 「以.json-tmLanguage」 擴展/用戶
  • 選擇工具>構建系統>選擇JSON來tmLanguage
  • 選擇文件工具> Build

你完成了!任何碰巧有「fileTypes」中定義的擴展名的新文件都會激活「scopeName」作用域。

現在,您可以在一個新的構建系統文件中使用此範圍(工具>構建系統>新構建系統...

乾杯!

+0

我可以使用它來使Textmate 2中的Latex代碼中的\ section {text}標題變大嗎? http://tex.stackexchange.com/questions/98574/textmate-2-how-can-increase-font-size-of-sections-in-the-markup-code –

+1

@ 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以及 –