2 个稳定版本
3.1.0 | 2024年7月26日 |
---|---|
3.0.0 | 2024年7月25日 |
#277 在 编程语言 中
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
或者,您可以手动从发布页面下载可执行文件,并按您喜欢的任何方式进行安装。
与编辑器一起使用
- vim: 查看vim-grepdef
- VS Code: 查看vscode-grepdef
依赖项
~6–15MB
~176K SLoC