如何在Sublime Text 2中为片段定义自定义范围?

时间:2013-02-08 20:31:46

标签: scope sublimetext2 code-snippets

我有以下代码段:

<snippet>
    <content><![CDATA[
{{#_}}${1:$SELECTION}{{/_}}
]]></content>
    <tabTrigger>i18n</tabTrigger>
    <!-- What can I put in scope? -->
    <scope>text.handlebars</scope>
</snippet>

但我只想让它在以“.handlebars”结尾的文件中可用。我想这样做是因为我想重载几个不同文件类型的i18n标签触发器。现在,我很难重命名这个特殊情况的标签触发器。

此问题对现有范围非常有用:Defining scope for custom Sublime Text 2 snippets

1 个答案:

答案 0 :(得分:1)

对于您的手柄示例,nrw / sublime-text-handlebars使用text.html.handlebars。您需要 Handlebars.tmLanguage 文件才能获得语法。

编辑:范围名称由语法tmLanguage文件中的scopeName键定义。再次为您的示例, Handlebars.tmLanguage 的第681行:

<key>scopeName</key>
<string>text.html.handlebars</string>

要创建自己的语法定义,请参阅this unofficial documentation articlescopeName设置应在代码段定义中用作范围键的值。