ctags и интерфейсы Fortran - PullRequest
       17

ctags и интерфейсы Fortran

3 голосов
/ 17 августа 2010

Мне интересно, как заставить ctags работать с интерфейсами в Фортране, например:

INTERFACE SOME_ROUTINE
  MODULE SOME_ROUTINE_A
  MODULE SOME_ROUTINE_B
END SOME_ROUTINE

Чтобы вызывать SOME_ROUTINE_A или SOME_ROUTINE_B в зависимости от параметров, передаваемых подпрограмме.

Если я наведу курсор на вызов SOME_ROUTINE в Vim и нажму C-], я получу ошибку «tag not found: SOME_ROUTINE», и если я проверю свой файл ctags, их там нет.

Странно то, что я также использую плагин taglist Vim, и интерфейсы в исходном файле будут отображаться в окне taglist.Единственная подсказка, которую я мог найти, как это работает, - это строка в коде плагина taglist:

let s:tlist_def_fortran_settings = 'fortran;p:program;b:block data;' .
                \ 'c:common;e:entry;i:interface;k:type;l:label;m:module;' .
                \ 'n:namelist;t:derived;v:variable;f:function;s:subroutine'

Я проверил руководство по ctags и не могу найти подсказку, как это работает,Кто-нибудь знает, что происходит?

1 Ответ

6 голосов
/ 17 августа 2010

Хорошо, поэтому, конечно, я нахожу ответ сразу после того, как задаю этот вопрос.Мне просто нужно было добавить «--fortran-kind = + i» к моей команде ctags.

Запуск «ctags --list-types» перечисляет виды информации, которые могут быть выведены для разных языков.

...