2016-12-25 5 views
3

В настоящее время я использую эту команду для создания Ctags:Сформировать Ctags для Руби и Javascript

ctags -R --languages=ruby,javascript --exclude=.git --exclude=log . $(bundle list --paths) 

Это работает для Ruby, но не для JavaScript. Как я могу это исправить, так что код JavaScript будет также в ctags?

+0

Как определяются определения в файлах javascript внутри? Используют ли они '(function (undefined) {})();' вещь? Я просто попытался «найти». -name '* .js' | xargs ctags -f-'и многие из js-файлов пропущены. –

+0

@GregoryNisbet .js-файлы имеют этот анонимный синтаксис функций, это стандартный JavaScript с использованием модульного шаблона, да. – valk

ответ

1

Добавление --tag-relative и --sort=yes устраняют проблему.

ctags --tag-relative -R --sort=yes --languages=ruby,javascript --exclude=.git --exclude=log . $(bundle list --paths) 
+1

Вы также можете быть заинтересованы в https://rubygems.org/gems/starscope, который использует фактический синтаксический анализатор вместо регулярных выражений; немного медленнее, но, надеюсь, более надежным и немного проще в использовании. – Evan