Хм, ни один из проектов, которые вы цитируете, не является парсером или не имеет никакого отношения к ctags.
- PhantomJS давайте запустим ваш скрипт, как если бы он запускался браузером на основе webkit. Он не будет выводить анализ вашего кода, он просто выполнит его. Вы можете использовать его для выполнения функции
toSource()
или isPrototypeOf()
, но это было бы довольно бессмысленно.
- JSDOM - это реализация DOM для использования в вашем скрипте. Его нельзя запускать как внешний инструмент, поэтому его нельзя использовать для генерации
tags
или анализа вашего кода.
- Zombie.js - это среда тестирования, имитирующая браузер для вас. Как и JSDOM, он не может быть запущен как внешний инструмент и не может анализировать ваш код.
Вы можете передать свой текущий скрипт phantomjs с помощью :!phantomjs %
или использовать zombie или jsdom в своем скрипте, но ничего из этого не поможет вам лучше понять структуру вашего кода или перейти к определению метода.
Однако, если вы используете в своем проекте zombie, jsdom или любую другую библиотеку, вы можете сгенерировать соответствующие им файлы tags
и добавить их в свой .vimrc следующим образом:
autocmd FileType javascript set tags+=path/to/a/library/tags
autocmd FileType javascript set tags+=path/to/another/library/tags
Если вам нужно лучшее / более современное tags
поколение, вы можете попробовать DoctorJS jsctags или посмотреть эту ветку для более хакерского способа заставить ctags работать на вы. Насколько я знаю, сейчас это единственные варианты.