#编程语言 #定义 #路径 #符号 #文件路径 #grep #

bin+lib grepdef

在多种编程语言中快速搜索符号定义

2 个稳定版本

3.1.0 2024年7月26日
3.0.0 2024年7月25日

#277编程语言

Download history 211/week @ 2024-07-21 64/week @ 2024-07-28

275 每月下载量

自定义许可证

31KB
537

grepdef

一个快速命令行工具,用于在各种编程语言中搜索函数、类、结构体等的定义。

用法:grepdef [选项] <符号> [路径(s)]

符号 是类、函数、结构体或类似构造的完整字符串名称。

路径 是指向文件、目录的相对或绝对文件路径,或一系列这样的路径的空格分隔序列。您还可以使用 UNIX 通用模式,shell 会将其转换为路径。

如果没有提供搜索路径,则将从当前目录开始搜索。

尽可能使用 --type 选项,但 grepdef 会在未设置时尝试猜测类型。

输出类似于使用 grep,但仅显示符号定义的位置(无部分匹配、变量使用或函数调用)。搜索使用正则表达式,因此它不了解作用域,并不完全可靠,但应该比单独使用 grep 更容易、更快。

[!IMPORTANT] grepdef 版本 3 是一个完全重写的版本,从 Node 转换到 Rust,使其更高效,并消除了单独安装 node 和 ripgrep 的需要。

自 3.0.0 版本以来,grepdef 也可以作为 rust 库 crate 用于其他 rust 程序。有关详细信息,请参阅 文档

CLI 选项

-t, --type <类型>

类型是与 vim 兼容的文件类型。'js'、'php'、'rs' 或这些字符串的别名(例如:'javascript.jsx')之一。TypeScript 目前被视为 JavaScript 的一部分,因此 'typescript' 类型与 'js' 等效。

如果未提供类型,grepdef 将尝试猜测文件类型,但这可能不够准确。

-n, --line-number

包含匹配的行号(等同于 grep 或 rg 选项)。

--no-color

禁用输出中的颜色(如果未打印到 STDOUT,则始终禁用颜色)。

-h, --help

打印帮助和用法文本。

-V, --version

打印版本信息。

示例

$ grepdef --type js -n parseQuery
./test/fixtures/js/db.js:7:function parseQuery() {

安装

要从版本 1 或 2 升级,首先您需要使用以下命令卸载旧版本

npm uninstall -g @sirbrillig/grepdef

您可以通过运行以下命令使用 cargo 安装 grepdef

cargo install grepdef

或者,您可以手动从发布页面下载可执行文件,并按您喜欢的任何方式进行安装。

与编辑器一起使用

依赖项

~6–15MB
~176K SLoC