3 个版本 (重大变更)
0.4.1 | 2020年5月31日 |
---|---|
0.3.0 | 2020年5月30日 |
0.2.0 | 2020年3月15日 |
#54 in #时间跟踪
205KB
884 行
👊 punch
一个用 Rust 编写的简单时间跟踪 CLI 工具。打卡,下班,并以不同的时间粒度将记录打印到终端。
使用方法
in
, out
, show
- 这就是你需要的一切
punch in [<note>]
: 开始跟踪时间,并传递可选的备注。punch out [<note>]
: 停止跟踪时间,并传递可选的备注。punch show [day|week|month|year] [--precise] [--round DIRECTION,GRANULARITY]
: 将跟踪的时间按指定的时间间隔分组打印到控制台。 (默认:week
).--precise/-p
: 以 RFC 3339 格式打印时间戳。--timezone/-t
: 打印带时区的时间戳。--round/-r DIRECTION,GRANULARITY
: 根据给定的舍入方向和精度进行舍入。示例:nearest,1min
(默认),up,30min
,down,1h
,n,1day
.
punch edit
: 在您喜欢的编辑器中打开打卡卡以进行手动更改。punch status
: 打印打卡卡的机器可读状态:PunchedIn
,PunchedOut
, 或Corrupted
.
每次 punch in
都必须紧跟一个 punch out
。如果你没有 punch out
上一次记录,就不能 punch in
。工具会对每次打卡进行一些验证,并报告无效状态。
如果你不小心打卡了,你可以在任何时候手动编辑 ~/.punch/main.csv
中的打卡卡片。每个记录都是 CSV 编码的,格式为 index,start,[end],[note]
,其中 []
表示可选字段。
示例
基于一些测试数据运行 punch show day
未来改进
- 支持多个打卡卡片,并允许在它们之间切换。例如,使用
punch list
和punch switch
。 - 测试
- 使用
punch show --stats
切换显示统计数据 - 操作系统集成将会很棒:在关机/启动/休眠/打开终端/Slack 时执行。
- 在
punch show
上打印表格?
依赖关系
~6–16MB
~178K SLoC