ctags和Fortran的接口

Ada*_*amR 3 vim fortran ctags

我想知道如何在Fortran中使用ctags接口,例如:

INTERFACE SOME_ROUTINE
  MODULE SOME_ROUTINE_A
  MODULE SOME_ROUTINE_B
END SOME_ROUTINE
Run Code Online (Sandbox Code Playgroud)

因此,根据传递给子例程的参数调用SOME_ROUTINE_A或SOME_ROUTINE_B.

如果我将光标放在Vim中对SOME_ROUTINE的调用上,并点击C-],我会收到"找不到标签:SOME_ROUTINE"错误,如果我检查了我的ctags文件,他们就不在那里.

奇怪的是我也在使用Vim taglist插件,源文件中的接口将显示在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'
Run Code Online (Sandbox Code Playgroud)

我已经检查了手册中的ctags,但是找不到任何关于它如何工作的线索,任何人都知道发生了什么?

Ada*_*amR 6

好的,我当然在问这个问题后找到了答案.我只需要在我的ctags命令中添加"--fortran-kinds = + i".

运行"ctags --list-kinds"列出了可以为不同语言输出的信息种类.