doctorjs (он же jsctags) не работает с vim + tagbar - PullRequest
3 голосов
/ 01 марта 2012

Я использую Windows 7 64bit ...

Я установил nodejs 0.6.11 установщиком MSI, путь установки - «C: \ Program Files (x86) \ nodejs», он был автоматически добавлен установщиком в мой% PATH%, я установил doctorjs пошагово ниже:

  1. Я скопировал файлы doctorjs в папку "C: \ Program Files (x86) \ nodejs \ doctorjs"
  2. Я создал jsctags.cmd, заполненный контентом, скопированным из https://gist.github.com/1438882
  3. Я добавил следующие строки в свой _vimrc:

let g: tagbar_type_javascript = { \ 'ctagsbin': 'C: \ Program Files (x86) \ nodejs \ jsctags.cmd' \}

Проблема в том, что когда я запускаю jsctags.cmd "{My js folder}", он генерирует файл тегов только с содержимым ниже:

! _ TAG_FILE_FORMAT 2 / расширенный формат / ! _TAG_FILE_SORTED 0/0 = не отсортировано, 1 = отсортировано, 2 = сложено / ! _TAG_PROGRAM_AUTHOR Патрик Уолтон /pwalton@mozilla.com/ ! _TAG_PROGRAM_NAME jsctags // ! _TAG_PROGRAM_URL http://github.com/pcwalton/jsctags / GitHub репозиторий / ! _TAG_PROGRAM_VERSION 0.1 //

И когда я запускаю: tagbaropen в vim, он ничего не показывает для текущего файла js ..

Пожалуйста, направьте меня туда, где я ошибся, спасибо!

Ответы [ 2 ]

2 голосов
/ 11 июля 2012

Ваша проблема может быть связана с коммитом нарцисса, которого вы клонировали для doctorjs.Перейдите в папку narcissus в папке doctorjs и запустите

git checkout 4ae5aff8b3

Это должно переключить голову на правильную версию файла.

2 голосов
/ 01 марта 2012

Поскольку вы получаете какой-то вывод, похоже, что вы правильно реализовали суть.Но, может быть, ваше ожидание того, как использовать его в командной строке, отличается от того, как оно действительно работает?

К вашему сведению: jsctags.cmd "{my js folder}" возвращает пустой файл тегов и на моей машине.Я не думаю, что командный интерфейс еще очень зрелый ... похоже, создание файла тегов для всей папки невозможно - пока ...

Попробуйте jsctags.cmd "{file}".Это должно создать заполненный файл tag.

Также обратите внимание, что панель тегов вызывает jsctags следующим образом: jsctags -f - {file}.Это передает поток на стандартный вывод.Поэтому, если вы отлаживаете, попробуйте эту форму команды.

В качестве еще одного подсказки по отладке измените ваш пакетный файл для вывода отладочной информации.т.е.: добавьте строки, подобные этой:

echo "%~dp0"\"node.exe"  "D:\opt\node\doctorjs\bin\jsctags.js" %* > d:\debug.txt

Просмотр d:\debug.txt позволит вам увидеть, как выглядит команда, как она вызывается из тэга.

КСТАТИ: Суть выИспользование было моим ... Мне интересно, если я не достаточно хорошо протестировал этот пакетный файл с папками, в которых есть пробелы.Сделайте несколько тестов в обеих папках с пробелами и без них, чтобы увидеть, есть ли разница.Если вы поймете, как это работает / нет, дайте мне знать, и я смогу продолжить расследование.

...