#todo #cli #command-line #applications #json #user #list

bin+lib htodo

用 Rust 构建的一个简单的命令行待办事项应用

5 个版本

0.1.5 2023 年 11 月 17 日
0.1.4 2023 年 11 月 17 日
0.1.3 2023 年 11 月 17 日
0.1.1 2023 年 11 月 17 日
0.1.0 2023 年 11 月 17 日

#723文件系统

每月 42 次下载

MIT 许可证

18KB
426

htodo

Rust

简介

这是一个简单的待办事项应用,用于我开始学习 Rust 语言。

默认情况下,待办事项将存储在 ProjectDir 下的 json 文件中。

macos: /Users/<用户名>/Library/Application Support/htodo/todo.json

安装

cargo安装 htodo

使用方法

  • 初始化
htodo init
  • 基本
htodo add "This is a todo"
htodo add "This is a todo" --complete
htodo complete [id]
htodo uncomplete [id]
htodo list
htodo clean

依赖项

[dependencies]
serde = { version = "1.0", features = ["derive"] } # data (de)serialize
serde_json = "1.0.108" # json (de)serialize
clap = { version = "4.4.7", features = ["derive", "cargo"] } # Cli argument parser
notify-rust = "4" # XDG notification
prettytable-rs = "^0.10" # print data in table format
directories = "5.0" # get path of sys dir

知识

  1. 模式匹配和相关的错误处理。
  2. 文件处理。
  3. 路径处理。
  4. CLI 参数解析。
  5. 使用 extern "C" 的 XDG 相关通知。
  6. 发布 Crates
  7. 单元测试
  8. 系统目录

开发

测试: cargo test -- --test-threads 1

剩下的事情

  1. 搜索和排序功能
  2. 彩色输出
  3. 为待办事项添加截止日期
  4. 通知图标

贡献

这是一个非常基础的待办事项应用。非常欢迎贡献。

依赖项

~4–34MB
~436K SLoC