2017-01-16 12 views
1

В течение некоторого времени я использую perl с vim сейчас. До этого я использовал IntelliJ с плагином для perl. Единственное, чего мне не хватает, - это другое представление в vib tagbar. Я настроил его для работы с универсальными ctags, и он показывает мне категории для пакетов, подпрограмм и констант. Но с примером файла сценария, который имеет три пакета, где каждый пакет имеет метод create(), все эти методы отображаются в категории «Подпрограммы». И имена пакетов все отображаются под «Пакетами». Вот и все. Это очень плоский вид.Как сгруппировать подпрограммы с пакетами в vim tagbar для perl?

То, что я хотел бы иметь, есть (в дополнение или в качестве замены) древовидное представление, где у меня есть все методы, относящиеся к прилагаемому к нему пакету. Но я не мог заставить его работать до сих пор :-(Я был бы признателен за любые идеи о том, как мне настроить панель тегов, чтобы получить более древовидное представление в Perl.

+0

Думаю, вы получите более качественные ответы, если зададите свой вопрос на сайте обмена [vi.se] Stack Exchange, который особенно подходит для vi и vim. Вот где сильные пользователи, и они могли бы больше помочь вам. – simbabque

+1

@simbabque, «пользователи власти» тоже здесь, но правильное место для связанных с плагинами вопросов - это трекеры с плагинами. – romainl

ответ

1

Я считаю, что ваши теги не являются полностью квалифицированными, что приводит к видеть все как плоское Вы должны генерировать свою перл тег с флагом --extra = д, например:.

ctags -f tags --recurse --totals \ 
--exclude=blib --exclude=.svn \ 
--exclude=.git --exclude='*~' \ 
--extra=q \ 
--languages=Perl \ 
--langmap=Perl:+.t 

Кроме того, убедитесь, чтобы добавить двоеточие в список символов ключевых слов в вашем .vimrc, поэтому вы можете выполнить завершение на модуле :: Имена:

set iskeyword+=: 

Примечание: я не использую d универсальные ctags, поэтому я не могу подтвердить, что это ваша проблема, но я проверил их документацию (http://docs.ctags.io/en/latest/news.html?highlight=extra%3Dq), и этот флаг по-прежнему используется и НЕ включен по умолчанию.

+0

Спасибо за подсказку. Я попробовал его с ctags и uctags. Последний создает несколько записей, но в обоих случаях он определенно больше подходит к тому, что я искал. Во всяком случае, тегабар не показывает мне ничего с этой настройкой, но пополнение и пометка навигации в vim работает лучше сейчас! – Marcel