2010-06-11 1 views
5

У меня возникли проблемы с правильной настройкой плагина taglist с помощью Scala. Я установил плагин и ctags и проверил, что он корректно работает с Java и C++. Затем я выполнил инструкции по этому page (за вычетом конкретных инструкций по лифту), но ничего не появилось в окне taglist, когда я открываю его во время редактирования файла Scala. Кто-нибудь получил эту работу и какие правильные шаги? Благодарю.Кто-нибудь получил плагин taglist vim, работающий с Scala?

ответ

4

Сначала проверьте, что в вашем файле тегов есть что-то. Если вы следовали инструкциям на странице, которую вы упомянули, она должна правильно идентифицировать классы, методы и т. Д. Если это сработало, вы можете перейти к следующему шагу.

taglist plugin имеет жесткий список поддерживаемых языковых настроек, а Scala не входит в число них. Поэтому, даже если CTags генерирует правильные теги, плагин не будет считывать их для этого типа файлов.

Должно быть возможно добавить определение как глобальную переменную g:tlist_def_<lang>_settings, но я не смог заставить это работать. Поэтому вам нужно изменить файл taglist.vim в каталоге ~/.vim/plugin, чтобы добавить поддержку Scala. Не беспокойтесь, это легко сделать!

Поиск строки, которая определяет s:tlist_def_yacc_settings и добавить следующую пару строк после него:

let s:tlist_def_scala_settings = 'scala;t:trait;c:class;T:type;' . 
         \ 'm:method;C:constant;l:local;p:package;o:object' 

Теперь, когда вы нажмете Ctrl-T, вы должны увидеть ваши сгенерированные теги Scala в окне списка тегов.

+0

Я думаю, что у вас есть намного ближе. Теперь я могу использовать: tag LiftSession (из примеров), чтобы перейти к этому файлу и другим файлам в проекте. Но Ctrl-T всегда возвращает «E73: Список тегов пустым». : TlistToggle всегда пуст. Я отвечаю за ваш ответ, потому что это полезно. –

+0

Очень странно - может быть, формат файлов тегов отключен? Я пробовал с самым «последним» (хотя и с 2007) плагином taglist и с ctags 2.7 и 2.8, и они работают с TlistToggle. Единственное различие заключается в том, что файлы Scala, которые у меня есть, не используют Lift. – richq

+0

Просто попробовал это с ctags 2.7 и последним лифтом RC 2.0, и он работает очень хорошо. Может быть, еще одна опция ctags пробралась в ваш .ctags-файл? – richq

0

В последнее время у меня была такая же проблема, и я принял и расширил экстрактор ctags для scala, который отлично работает с плагином табло. Здесь код:

https://github.com/luben/sctags

Это медленнее, чем обильный-Ctags, поскольку он использует scalac анализатор и JVM имеет заметное время запуска, но это дает достаточно полную информацию.