как написать фрагмент, чем можно переключать текст, например фрагмент Get Element

Во фрагменте Get Element, когда я набираю get и нажимаю вкладку, он будет отображаться

getElementsByTagName('')

и буква T выделяется и редактируется, затем набирается буква I, она изменится на

getElementById('')

автоматически.

Я хочу создать фрагмент, который может переключать текст с помощью введенной буквы, как это делает фрагмент Get Element, но я не могу найти, где находится фрагмент. Кто-нибудь знает его местоположение или знает, как создать такой фрагмент?


person daskyrk    schedule 06.11.2017    source источник


Ответы (1)


Фрагмент находится внутри заархивированного пакета JavaScript, который находится в каталоге установки, а затем Packages/JavaScript.sublime-package. Внутри этого пакета файл называется Snippets/Get-Elements.sublime-snippet и имеет следующее содержимое:

<snippet>
    <content><![CDATA[getElement${1/(T)|.*/(?1:s)/}By${1:T}${1/(T)|(I)|.*/(?1:agName)(?2:d)/}('$2')]]></content>
    <tabTrigger>get</tabTrigger>
    <scope>source.js</scope>
    <description>Get Elements</description>
</snippet>

По сути, он работает с условной заменой строк формата. Вы можете найти документацию для них в ускорить документацию по регулярному выражению, однако я предлагаю просто иметь два разных фрагмента в этой ситуации с триггерами gett и geti соответственно, поскольку они по-прежнему требуют одинакового количества нажатий клавиш, но их намного проще создавать и поддерживать.


Подобные архивные файлы ресурсов можно легко открывать с помощью пакета PackageResourceViewer.

Подробная информация о пакетах в архиве: http://docs.sublimetext.info/en/latest/extensibility/packages.html

person FichteFoll    schedule 06.11.2017