gpt4 book ai didi

php - PHP/Python/Etc 中内置函数的 ctags 信息

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:42:40 25 4
gpt4 key购买 nike

有什么方法可以让 ctags 以某种方式支持 PHP/Python 提供的内置函数(或者我当时正在使用的任何函数),这样我也可以在 vim 和 Source Explorer 中使用它们一样吗?

更新:

好的,所以使用 python 我可以在源文件夹上运行 ctags 以获取带有内置函数的标签文件,尽管使用 PHP 它似乎不起作用,但是 PHP 的源文件包含如下行:

/* {{{ proto resource mysql_connect([string hostname[:port][:/path/to/socket] [, string username [, string password [, bool new [, int flags]]]]])

因此,如果我能以某种方式用 ctags 解析它,我就会在我的标签文件中获得适当的函数。我尝试使用 --regex-C 来获取它,但以下内容似乎不起作用。

--regex-C='/\/\* \{\{\{ proto ([^ ]+) ([^ (]*)/\2/f/'

知道如何让它发挥作用吗?

另外,对于 python,我似乎得到了带有类的“class ClassName:”行,有没有办法让它也包含 init 函数?

更新:我将为 PHP 创建一个单独的问题,感谢您的回答。

最佳答案

ctags 允许您使用 --append 选项增量构建标签数据库;如果你想要 Python 例程的 C 定义(很多?一些?一点点?直接在 C 中实现,一些在 Python 本身中实现)你可以运行:

ctags -R
ctags --append -R /path/to/python-source

如果您只想包含一部分 Python 源代码,您可以只提供该部分;正如您在评论中所说,Lib/ 是开始的地方:)

ctags -R
ctags --append -R /path/to/python-source/Lib

考虑到大多数解释性语言(甚至字节码编译语言)最终在幕后用 C 实现了相当多的接口(interface),可能很难在源代码和 API 源代码之间实现无缝转换你依赖。

我发现拥有多个源代码数据库很有帮助;有时问题最好用 cscope 回答,有时 gid ,有时是 ctagsctags 非常适合集成到 vim 中,但 gid 通常更容易编写脚本。

关于php - PHP/Python/Etc 中内置函数的 ctags 信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6084816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com