Skip to content

secheng722/s_todo

Repository files navigation

S Todo - 简洁高效的终端 Todo 管理工具

一个基于 Rust 和 ratatui 构建的现代化终端 Todo 管理应用,具备时间跟踪、项目管理和双栏布局等特色功能。

✨ 核心特性

🎯 双栏布局设计

  • 左侧项目面板:管理不同的项目分类
  • 右侧 Todo 面板:显示当前项目的所有任务
  • 类似 lazygit 的操作体验:直观的双栏导航

主界面展示 alt text

⏱️ 智能时间跟踪

  • 简单计时机制:记录开始时间、结束时间和总耗时
  • 一键切换:按 t 键开始/停止计时
  • 自动结束计时:标记完成时自动停止计时
  • 累计时间显示:格式化显示总工作时间(如:2h 30m 15s)
  • 工作状态指示:⏱️ 图标显示正在进行的任务

时间跟踪功能 alt text

📱 响应式界面

  • 自适应布局:根据终端宽度智能调整显示
  • 窄屏优化:终端宽度 < 80 时自动切换为垂直布局
  • 文本截断:自动处理长文本显示
  • 视觉反馈:活动面板高亮显示(黄色边框)

响应式布局

alt text

💾 数据持久化

  • 自动保存:所有操作实时保存到本地文件
  • JSON 格式:数据存储为可读的 JSON 格式
  • 跨平台路径:macOS/Linux 使用 ~/.config/s_todo/data.json
  • 备用存储:自动降级到当前目录 s_todo_data.json

🎮 操作指南

基本操作

快捷键 功能描述
Tab 在项目和 Todo 面板间切换
j / 向下移动光标
k / 向上移动光标
空格 切换 Todo 完成状态(自动停止计时)
a 添加新项目或新 Todo
r 重命名选中的项目或 Todo
d 删除选中的项目或 Todo
t 开始/停止当前 Todo 的计时
s 手动保存数据
q 退出程序(自动保存)

快捷键操作演示

工作流程

  1. 创建项目:在项目面板按 a 添加新项目
  2. 添加任务:切换到 Todo 面板,按 a 添加新任务
  3. 开始工作:选中任务后按 t 开始计时
  4. 完成任务:工作完成后按空格标记完成(自动停止计时)
  5. 查看统计:任务旁显示累计工作时间

🚀 安装与使用

系统要求

  • Rust 1.70+
  • 支持 UTF-8 的终端

安装方法

方法一:从源码安装

# 克隆仓库
git clone https://github.com/your-username/s_todo.git
cd s_todo

# 安装到系统
cargo install --path .

# 现在可以在任何地方使用
std

方法二:本地运行

# 克隆仓库
git clone https://github.com/your-username/s_todo.git
cd s_todo

# 直接运行
cargo run

卸载

# 卸载程序
cargo uninstall s_todo

# 可选:删除配置文件
rm -rf ~/.config/s_todo/

🤝 贡献指南

欢迎提交 Issue 和 Pull Request!

📄 许可证

MIT License - 详见 LICENSE 文件

🙏 致谢


享受高效的终端 Todo 管理体验! 🎉

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages