51 个版本 (33 个稳定版本)

4.4.1 2024 年 8 月 25 日
4.4.0 2024 年 7 月 18 日
4.3.0 2024 年 5 月 11 日
4.2.1 2024 年 3 月 1 日
0.7.2 2019 年 3 月 1 日

#118命令行工具

Download history 11/week @ 2024-04-28 121/week @ 2024-05-05 45/week @ 2024-05-12 10/week @ 2024-05-19 4/week @ 2024-05-26 9/week @ 2024-06-09 5/week @ 2024-06-16 113/week @ 2024-07-14 28/week @ 2024-07-21 14/week @ 2024-07-28

每月 54 次下载

MIT 许可证

245KB
6K SLoC

TTDL (终端待办事项列表)

Downloads

A CLI 工具,用于以 todo.txt 格式 管理待办事项列表。TTDL 在行动中的简要演示

TTDL in action

为了更好的可读性,您可以启用语法高亮显示(通过命令行选项 --syntax 或在配置文件中启用它)。标签、项目、上下文和哈希标签的颜色可自定义:请参阅配置文件中的详细信息,部分 [syntax]。默认选项和启用语法高亮显示的相同待办事项输出的示例

TTDL syntax highlighting demo

安装

应用程序可以从源代码编译,也可以使用 cargo 安装。

$ cargo install ttdl

您需要支持 Rust 2018 版本的 Rust 编译器(Rust 1.31 或更高版本)来完成此操作。如果要将现有 ttdl 升级,请执行以下命令

$ cargo install ttdl --force

预编译的二进制文件

对于 Windows 和 Ubuntu,您可以从 发布页面 下载预编译的二进制文件。

  • Windows 二进制文件可在 Windows 7 或更高版本的 Windows 上运行。
  • Ubuntu 二进制文件已在 Ubuntu 16 上测试,但应在 Ubuntu 18(可能还在其他基于 deb 的 Linux 发行版)上运行。

已知问题

添加新的待办事项,向现有待办事项追加或预置文本会导致错误

如果文本以(或仅包含)项目或上下文开头,则可能会发生这种情况。

$ ttdl add "+myproject"
Subject is empty

解决方法:在引号和 '+' 或 '@' 符号之间添加空格。待办事项将添加,而不会出现前导空格。

$ ttdl add " +myproject"
Added todo:
# D P Created    Finished   Due        Threshold  Subject
----------------------------------------------------------
8                                                 +myproject

配置

TTDL 是一个独立二进制文件,它不会在用户的目录中创建任何文件。但是,在启动时,它会检查配置文件 - 请参阅用户配置目录中的示例配置文件(ttdl.toml)[./ttdl.toml] 并加载它。还支持本地配置文件。TTDL 查找配置文件的位置

  • 当前工作目录
  • Linux: ~/.config/ttdl/ttdl.toml
  • Windows: c:\Users\{username}\AppData\Roaming\ttdl\ttdl.toml
  • OSX: /Users/{username}/Library/Application Support/ttdl/ttdl.toml

要检查TTDL在哪个目录中查找其配置文件,请参考表格 功能,函数名称 config_dir

如何使用

使用命令行运行TTDL

ttdl [command] [ID range] [subject] [filter options] [extra options]

支持命令

可用的命令列表很短,但功能强大。所有命令都支持分组操作和Dry Run模式。除了 add 命令一次添加一个待办事项外。请参阅“示例”部分,它提供了一些如何筛选和修改待办事项列表的有用示例。

命令

  • add - 添加新的待办事项;
  • list - 显示待办事项列表。默认情况下,显示所有未完成的待办事项;
  • done - 标记选定的待办事项已完成。如果待办事项是重复的,其截止日期将移动到下一个日期,但待办事项仍然未完成;
  • undone - 从已完成待办事项中移除 finished 标记;
  • remove - 删除选定的待办事项;
  • clean - 将已完成待办事项从主文件移动到 done.txt。该文件 done.txt 将在主待办事项列表文件所在的目录中创建(如果不存在);
  • edit - 修改选定待办事项的一个或几个属性。一个例外:修改待办事项的主题只会更改第一个选定的待办事项,其他将被忽略;
  • append - 将文本添加到选定待办事项的末尾(在旧文本和新文本之间自动添加空格);
  • prepend - 在选定待办事项的开头插入新文本(在旧文本和新文本之间自动添加空格);
  • start - 启动待办事项的计时器;
  • stop - 停止待办事项的计时器并更新待办事项所花费的时间;
  • stats - 显示待办事项统计信息:待办事项总数、已完成和过期待办事项数、花费时间以及按项目和上下文分组的详细统计信息。
  • postpone - 推迟任务截止日期(仅修改具有截止日期定义的未完成任务),参数是天数/周数/月数/年数,格式为:单个数字和d/w/m/y,数字之间没有空格

大多数命令都可以缩写。请参阅内置的TTDL帮助,以获取完整命令名称及其别名列表。

注意:done 将重复待办事项的截止日期移动到下一个日期,但它不会检查新截止日期是否在未来(这是设计上的)。因此,如果月度任务已经逾期2个月,您必须执行 ttdl done ID 两次,将其推送到下个月,或者使用命令 ttdl edit ID --set-due=YYYY-MM-DD 手动设置新的截止日期。

有关详细信息,请参阅 README.md

依赖项

~5–17MB
~197K SLoC