Использование универсальных ctags, как я могу пометить переменную, которая ссылается на весь файл?
Используя Universal Ctags, я пытаюсь пометить компонент Ember.js, поэтому его имя ссылается на то, где компонент определен.
Проблема заключается в том, что Ember использует имя файла компонента как "определение".
Например, в template.hbs
:
{{#example-component}}
Some text
{{/example-component}}
Этот компонент, example-component
, будет определен на пути:
/app/components/example-component.js
Это единственное место, где, к сожалению, определен example-component
имени переменной. Он не определен непосредственно в коде где-нибудь еще.
Кажется, что Ctags обрабатывает объявление традиционной переменной просто так, как в let example-component = {...}
. Но я не знаю, как сообщить ctags, что компоненты Ember определяются их именем, а не непосредственно в коде.
Есть ли способ написать определение ctags, которое рассматривает имена файлов для переменных?
Я сделал прототип для создания тегов, определенных их именем в https://github.com/universal-ctags/ctags/issues/1680. Вы можете рассказать о своем требовании ко мне. Чтобы реализовать нужную функцию, необходимо указать шаблон. Парсер в ctags использует patter для обнаружения того, что входной файл js является компонентом Ember.js или нет.