#tui #tasks #local-storage #learning #mini #high #performance

bin+lib todo-cli-manikya

一个用于学习的迷你 todo-cli 应用

3 个版本 (破坏性更新)

0.3.0 2024 年 3 月 8 日
0.2.0 2024 年 1 月 7 日
0.1.0 2024 年 1 月 1 日

#8 in #mini

MIT 协议

38KB
964

一个迷你 todo-cli

文档可在 docs.rs 找到

关于

这是一个用 Rust 编写的用于学习的小型 todo 应用。

功能

  • 一个易于使用的 TUI,包含所有快捷键的解释
  • 任务存储在本地存储中,以便以后可以访问
  • 高性能,即使在慢速设备上也没有延迟
  • 适用于不需要 TUI 的高级用户的 cli 命令

如何安装

使用二进制文件

从 GitHub 最新版本下载您平台的可执行文件!

使用 cargo

使用 git 克隆此仓库


git clone "https://github.com/Manikya-Sharma/todo-cli"

进入目录并使用 Cargo 构建

cd todo-cli
cargo build --release

只需在 target/release 目录中运行创建的可执行文件

或者,在 Cargo.toml 中提供 opt-level=3 时使用 cargo run。

用法

开始 TUI

不带任何参数运行以启动 TUI

todo-cli

帮助

获取有关 cli 的帮助信息

todo-cli help

您还可以在任何子命令上运行帮助,例如

todo-cli list help

列表

列出所有任务

todo-cli list

列出所有尚未完成的任务

todo-cli list -p true   # p stands for pending

列出所有已完成的任务

todo-cli list -c true

使用模糊搜索查找任务

todo-cli list -f "buy"    # list all tasks with buy

您可以组合多个标志以进行更具体的搜索

todo-cli list -p true -f "cmp"    # all pending tasks with fuzzy
                                  # e.g. "organize computer" task
                                  # which is pending will match

清除所有数据

todo-cli clean

编辑任务

目前,只有 TUI 支持编辑任务,但 CLI 功能将很快添加!

制作方式

todo-cli 采用非常简单的方法,将所有任务保存在 csv 文件中,并在需要时高效访问。

本项目站在巨人的肩膀上,通过管理大多数外部依赖项的要求。

改进空间

该项目尚未完成,需要许多改进

  • 在 TUI 中导航任务时提高性能
  • 为任务添加哈希值并正确存储在 csv 文件中,以实现快速访问和管理
  • 添加仅使用 CLI 添加和管理任务的选项
  • 对于任务 ID,使用哈希算法而不是 RNG

缺少的功能/错误

  • 还不能使用 CLI 编辑任务
  • 过多的任务会从 TUI 中溢出
  • 在TUI中尚无方法了解任务ID或状态
  • 任务在TUI中以原始方式渲染,不提供定制。
  • 没有存储任务创建/编辑时日期的配置

一些雄心勃勃的功能

此列表包括目前不是高优先级但可以改进用户体验的功能

  • 允许使用yml/toml自定义主题
  • 通过允许加粗、斜体、高亮、内部和外部链接使任务更丰富
  • 适用于遵循常见想法的任务标签
  • 进行中任务额外的状态

依赖关系

~9–18MB
~207K SLoC