ctags 不标记 fortran 自定义类型的复杂类型语句

ctags doesn't mark complex type statements for fortran custom types

system:
mac osx catalina
Exuberant Ctags 5.8

调用以下mymodule.f90

module mymodule
  public
  type :: thing1
     real :: a
  end type thing1
  type, extends(thing1) :: thing2
     real :: b
  end type
end module

然后 运行 ctags -e mymodule.f90 生成的标签文件是:


mymodule.f90,99
module mymodulemymodule1,0
  type :: thing1thing15,27
     reala6,44
     real :: bb10,112

其中明显缺少 thing2 的定义。我已经看到 ctags 跳过看起来像这样的类型定义:

type, abstract...
type, public...

无论如何,解析器似乎无法识别 type :: name

以外的类型定义

是否有启用此功能的标志,或者 ctags 现在太过时了,无法使用此功能?这里的解决方案是什么?

https://ctags.io 开发的 universal-ctags 可以捕获 thing2,例如:

$ cat mymodule.f90       
module mymodule
  public
  type :: thing1
     real :: a
  end type thing1
  type, extends(thing1) :: thing2
     real :: b
  end type
end module
$ u-ctags -o - -e  mymodule.f90


mymodule.f90,144
module mymodulemymodule1,0
  type :: thing1thing13,25
     reala4,42
  type, extends(thing1) :: thing2thing26,75
     real :: bb7,109