30 个版本
0.2.7 | 2024 年 4 月 23 日 |
---|---|
0.2.6 | 2024 年 2 月 19 日 |
0.2.5 | 2023 年 9 月 3 日 |
0.2.4 | 2023 年 7 月 5 日 |
0.1.12 | 2022 年 7 月 29 日 |
#465 in 命令行工具
每月 205 次下载
660KB
4K SLoC
doist - Todoist 命令行客户端
用 Rust 编写的非官方 Todoist API 命令行客户端。
关于
这是一个专注于易用的非官方 Todoist CLI。目前功能尚不完整,但已覆盖一些基本常用场景,并将随着时间不断添加更多功能。
安装
从 crates.io 安装
目前仅通过 cargo install 安装
# Install Rust first: https://www.rust-lang.net.cn/tools/install
cargo install doist
# Binary now available in $HOME/.cargo/bin/doist
从源代码构建
# Install Rust first: https://www.rust-lang.net.cn/tools/install
git clone [email protected]:chaosteil/doist
cd doist
cargo build --release
./target/release/doist
最终会有更多选项。
如何使用
认证
首先,设置您的 API 令牌。进入您的 Todoist 设置,转到 集成
并复制出 API 令牌
。将其插入到工具中
doist auth MY_TOKEN
现在您已经认证并通过可以使用工具的其他功能。
列出任务
列出任务并与它们进行交互式操作是使用 CLI 的推荐方式。
默认情况下,列表视图显示今天的任务并允许您与之交互
doist
# Alternatively: `doist list` or `doist l`.
这将允许您输入输出的一部分,直到选择您想要操作的任务(模糊搜索)。选择后,您可以选择各种其他子命令,如关闭、更改到期日期或甚至编辑任务。
您还可以禁用交互模式,以便将输出重定向到其他位置
doist list --nointeractive
# Alternatively: `doist l -n`
默认情况下,所有交互式命令都应用了一个过滤器,以显示最相关的任务。请参阅 文档 了解接受的输入。要使用过滤器,请将其添加到命令参数中
doist list --filter "all"
# Alternatively: `doist l -f all`
交互式(连续)模式
要继续使用 doist list
并在每次操作后应用当前过滤器(例如,您可以一次关闭多个任务),还提供了一个超级交互式(连续)模式。这使得体验更接近官方应用程序。
doist list --interactive
# Alternatively: `doist -i`
要在主列表选择期间退出此模式,请按 ESC
添加任务
添加任务的一个快速方法是
doist add "Do the laundry" --desc "I always forget" --due "tomorrow"
# Alternatively: `doist a "Do the laundry" -D "I always forget" -d tomorrow`
只需任务名称即可,其他所有内容都将默认为无。
交互式任务创建
另一种完全交互式创建任务的方法是
doist create
# Alternatively: `doist A`
这将提示您输入任务名称,然后提供一个交互式菜单,您可以在其中根据需要填写详细信息。
关于任务的更多信息
您还可以为任务设置优先级
doist add "Party hard" --priority 1
# Alternatively: `doist a "Party hard" -p1`
您还可以执行其他操作以向任务添加更丰富的信息。所有输入都可以部分提供,并将模糊匹配到您可能想到的最近的名字
# Adding project information
doist add "Party hard" --project "personal"
# Alternatively: `doist a "Party hard" -P personal`
# Adding section information. Will automatically attach to the correct project,
# but setting the project will narrow it down.
doist add "Party hard" --section "weekend"
# Alternatively: `doist a "Party hard" -S weekend`
doist add "Party hard" --project personal --section weekend
# Alternatively: `doist a "Party hard" -P personal -S weekend`
# Multiple labels can be provided when creating tasks as well
doist add "Party hard" --label dance --label happy
# Alternatively: `doist a "Party hard" -L dance -L happy`
如果您使用此工具进行自动化工具,您可以直接提供它们的API ID而不是匹配名称。
关闭任务
快速关闭今天任务之一的方法是
doist close
# Alternatively: `doist c`
然后模糊查找您想要关闭的任务。如果您更习惯直接提交ID,这也可以工作
doist close "BIG_ID_FROM_API"
# Alternatively: `doist c BIG_ID_FROM_API`
查看详情
要查看任务及其相关评论的详细信息
doist view
# Alternatively: `doist v`
这接受与doist list
相同的参数用于任务选择。
配置设置
禁用颜色
如果您不喜欢表情符号或颜色,您可以通过设置环境变量NO_COLOR
来禁用所有doist引起的颜色
NO_COLOR=1 doist
自定义默认过滤器
如果您不喜欢默认过滤器(今天 | 即将到来)
,您可以在~/.config/doist/config.toml
中设置不同的默认过滤器,如下所示
default_filter="all"
有关更多信息,请参阅Todoist关于过滤器的文章。
帮助
请随意浏览帮助输出以获取更多帮助
doist help
依赖关系
~18–33MB
~543K SLoC