Как я могу определить пользовательскую область для фрагментов в Sublime Text 2?

У меня есть следующий фрагмент:

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

Но я хочу, чтобы он был доступен только в файлах, оканчивающихся на «.handlebars». Я хочу сделать это, потому что хочу перегрузить триггер вкладки i18n для нескольких разных типов файлов. Прямо сейчас я застрял с переименованием триггера вкладки для этого конкретного случая.

Этот вопрос очень полезен для существующих областей: Определение области для пользовательского Sublime Text 2 фрагменты


person Matt Faus    schedule 08.02.2013    source источник


Ответы (1)


В примере с рулем nrw / sublime-text-handlebars используется text.html.handlebars. Вам понадобится файл Handlebars.tmLanguage, чтобы иметь синтаксис.

Изменить: имя области определяется ключом scopeName в файле синтаксиса tmLanguage. Опять же, для вашего примера, строка 681 файла Handlebars.tmLanguage:

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

Чтобы создать собственное определение синтаксиса, см. эту статью неофициальной документации< /а>. scopeName задает значение, которое следует использовать для ключа области действия в определении фрагмента.

person d_rail    schedule 08.02.2013