让 Ctags 支持 PHP Traits

Ctags 目前应该是有三个版本,普通版本,Exuberant 版本,以及 Universal 版本。

目前普通版本应该用得都比较少了,没人维护,不过 Mac 默认自带的就是这个版本。

因为目前 brew 安装 Exuberant Ctags 很方便,一句命令搞定:

所以 brew 上用 Exuberant 版本的应该比较多。

不过这个版本依然是很古老的版本,从 ctags --version的信息可以看到此版本也应该到 2009 年就停止更新了:

虽然版本老,但是依旧很经典。我用它生成 PHP 的 tags 列表,一向很顺利。直到 Traits 的出现。

Exuberant Ctags 并不支持 traits,不过借助于 Ctags 灵活的配置,实现 traits 的 tag 生成也是完全可能的,关键在于 --regex-php 参数的设定:

看得出来,此参数值的正则就是用来匹配 关键词 trait 后面的单词的。

虽然经典版本的确经典,但是赶不上新时代的潮流注定会被取代。Universal Ctags 就是经典的革命者,新时代的领导者,目前项目活跃度还比较高…… 估计你已经猜到,这个版本的 Ctags,是默认支持 traits 的。想跟上时代的脚步?请按下面的指示:

安装结束,以后使用 ctags 时只要在参数 --php-kinds 里指定 t,就可以支持 trait 了,按 Universal Ctags 自己的说法,比使用 --regex-php 参数的方式快了 10 倍哦。

wx pay

CC BY-NC-ND 4.0 让 Ctags 支持 PHP Traits by Chrisyue's Blog is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

发表评论

电子邮件地址不会被公开。

fifty ÷ = twenty five