Мне интересно, как заставить ctags работать с интерфейсами в Fortran, например:
INTERFACE SOME_ROUTINE
MODULE SOME_ROUTINE_A
MODULE SOME_ROUTINE_B
END SOME_ROUTINE
Так что либо SOME_ROUTINE_A, либо SOME_ROUTINE_B вызывается в зависимости от параметров, переданных подпрограмме.
Если я наведу курсор на вызов SOME_ROUTINE в Vim и нажму C-], я получу ошибку «тег не найден: SOME_ROUTINE», и если я проверю свой файл ctags, их там нет.
Странно то, что я также использую плагин списка тегов Vim, и интерфейсы в исходном файле будут отображаться в окне списка тегов. Единственная подсказка, которую я смог найти, это строка в коде плагина 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 и не могу найти ни малейшего понятия о том, как это работает, кто-нибудь знает, что происходит?