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

标签 php python function vim ctags

有什么方法可以让 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/

相关文章:

javascript - 访问有关导致 indexedDB 中请求出错的数据对象的信息

c++ - c++函数中的通用参数?

php - 如何反转 PNG 过滤器?

python - 用你类(class)的 __mul__ 覆盖其他 __rmul__

python - 为脚本设置临时环境变量

python - Jenkins:Stacktrace 和 GitLab 之间的链接

python - 如何在Python中将代码块分组,类似于函数,但不需要定义参数?

php - JQuery 数据表错误 "Cannot read property ' 长度'未定义”

php - 如何在标题中允许图标?

php - 我在哪里可以获得母语国家/地区名称列表?