Будет ли JSDOM работать над настройкой проектов в изобилии ctags? - PullRequest
0 голосов
/ 10 мая 2011

Ожидание превосходной поддержки ctags в javascript заставило меня задуматься о том, можно ли использовать такой проект, как http://zombie.labnotes.org/, для настройки ctags, чтобы пользователь vim был доволен.

1 Ответ

1 голос
/ 13 мая 2011

Хм, ни один из проектов, которые вы цитируете, не является парсером или не имеет никакого отношения к 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 работать на вы. Насколько я знаю, сейчас это единственные варианты.

...