ctags和Fortran的接口

时间:2010-08-16 21:31:16

标签: vim fortran ctags

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

INTERFACE SOME_ROUTINE
  MODULE SOME_ROUTINE_A
  MODULE SOME_ROUTINE_B
END SOME_ROUTINE

因此根据传递给子例程的参数调用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'

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

1 个答案:

答案 0 :(得分:6)

好的,我当然在问这个问题后找到答案。我只需要在我的ctags命令中添加“--fortran-types = + i”。

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