我想知道如何让ctag与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-],我会得到一个"tag not file : SOME_ROUTINE“错误,如果我检查我的ctag文件,它们不在那里。
奇怪的是,我还使用了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'
我已经检查了ctag的手册,但找不到任何关于这是如何工作的线索,有人知道发生了什么吗?
发布于 2010-08-17 05:37:59
好的,当然我在问完这个问题后就找到了答案。我只需要在我的ctags命令中添加"--fortran-kinds=+i“。
运行"ctags --list- kinds“将列出可以针对不同语言输出的信息类型。
https://stackoverflow.com/questions/3497538
复制相似问题