5 个版本
| 0.2.1 | 2022 年 9 月 28 日 |
|---|---|
| 0.2.0 | 2022 年 9 月 22 日 |
| 0.1.2 | 2022 年 9 月 6 日 |
| 0.1.1 | 2022 年 9 月 5 日 |
| 0.1.0 | 2022 年 8 月 17 日 |
#640 in Cargo 插件
260KB
5.5K SLoC
cargo 功能历史
- 需要至少 15*15 终端大小
A cargo frontend for the git function history library.
安装
cargo install cargo-function-history
如果你不想使用并行
cargo install cargo-function-history --no-default-features
用法
cargofunction-history<function-name<:filename>> <选项>
或 cargo-function-history <function-name<:filename>> <options>
选项
-
--help: 显示帮助信息 -
--filter-date <date>: 只过滤到这个日期 -
--filter-commit-hash <hash>: 只过滤到这个提交哈希 -
--filter-date-range=<date1>:<date2>: 过滤到指定的日期范围 -
--file-absolute: 在函数名后面指定的文件名中搜索确切的文件 -
--file-relative: 在函数名后面指定的文件名后搜索任何文件
使用 tui
运行命令后,将弹出 tui 界面。
即使你通过运行的命令指定了搜索,你也看不到函数历史结果,因为它仍在加载。加载完成后,你将看到函数历史结果。
现在你已经打开了应用程序,你将看到它分为 3 个部分
-
顶部区域是查看面板。它显示函数历史结果。
-
中间区域是命令面板。在这里输入命令,按回车键后执行。
-
底部区域是状态面板。它显示应用程序的状态。
command-pane
尽管查看面板在最前面,但通常您必须先输入命令才能使用查看面板。
要进入编辑模式,请按 :,然后您将看到命令面板变为命令输入模式,并在输入栏中显示带有黄色文本的光标。
要退出编辑模式,请按 esc。
如果您的命令太长而无法在屏幕上显示,可以使用左右箭头键滚动命令面板。
您还可以使用上箭头和下箭头键滚动通过您的命令历史。
每个命令都以三种命令类型之一开头
-
search:搜索一个函数 -
filter:过滤当前搜索 -
list:列出提交或日期
command-pane-search
在键入 search 之后,您可以键入您想要搜索的函数名称。
如果您只想搜索特定文件,首先使用 absolute 或 relative 指定是绝对搜索还是相对搜索,然后是文件名;如果您想搜索包含目录的任何文件,可以执行 directory 目录名称。
如果您还想搜索特定日期、提交哈希或日期范围,可以使用 date、commit-hash 或 date-range 指定,然后是日期、提交哈希或日期范围(对于日期范围,每个日期之间用空格分隔)。
如果只需要搜索特定日期、提交哈希或日期范围,可以省略文件名和文件类型。
然后按回车键执行命令,执行命令后,您将在查看面板中看到搜索结果。
command-pane-filter
在运行搜索(或其他过滤)后,键入 filter,允许您构建一个命令来过滤当前输出。
选项取决于您是否已经根据例如日期进行过滤,那么您将无法根据日期范围或提交哈希进行过滤。
所有选项如下
-
commit:此选项将输出过滤到只有带有指定提交哈希的提交 -
date:此选项将输出过滤到只有日期最接近指定日期的提交 -
date-range:此选项将输出过滤到只有两个空格分隔日期之间的提交
parent:此选项将输出过滤到包含您在搜索中指定的函数的提交,其中在parent关键词后指定父函数line-range:此选项将输出过滤到包含您在搜索中指定的函数的提交,其中在line-range关键词后指定行范围
block:此选项将过滤输出,只显示包含您在搜索中指定的函数的提交,这些函数位于block关键字之后的指定块中。有效的块类型有externimpltrait
-
file-absolute:此选项将过滤输出,只显示包含您在搜索中指定的确切文件的提交,这些文件位于file-absolute关键字之后的指定文件中 -
file-relative:此选项将过滤输出,只显示包含您在搜索中指定的文件(以指定文件结尾的任何文件)的提交,这些文件位于file-relative关键字之后的指定文件中 -
directory:此选项将过滤输出,只显示包含您在搜索中指定的目录(包含该目录的任何文件)的提交,这些文件位于directory关键字之后的指定目录中
输入命令后,按回车键执行命令,执行命令后,您将在查看窗格中看到搜索结果。
命令窗格列表
输入list后,您可以使用commits或dates指定要查看的列表类型。
然后按回车键执行命令,执行命令后,您将在查看窗格中看到列表结果。
查看窗格
要导航查看窗格,您需要处于查看模式。要从编辑模式进入查看模式,请按esc。
要滚动查看窗格中的文件,可以使用up或k和down或j键。
要移动到下一个或上一个提交,可以使用right或l和left或h键。
要浏览提交中的文件,可以使用shift + right或l和shift + left或h键。
顶部将显示提交哈希值、日期和时间。以下为文件名。
文件将显示您搜索的函数和行号。
状态窗格
状态窗格用于显示程序的状态。
有4种不同的状态类型
error:此状态类型用于显示程序执行过程中发生的错误
warning:此状态类型用于显示程序执行过程中发生的警告ok:此状态类型用于显示命令已成功执行
loading:此状态类型用于显示程序正在加载
注意
指定日期时,请使用RFC 2822格式,例如:Mon, 15 Feb 2021 15:04:05 +0000,请将空格替换为下划线,例如:Mon_15_Feb_2021_15:04:05_+0000。
依赖
~10–21MB
~276K SLoC