8 个版本
0.3.3 | 2023年9月9日 |
---|---|
0.3.2 | 2023年9月9日 |
0.3.1 | 2022年8月1日 |
0.3.0 | 2022年7月30日 |
0.1.0 | 2021年6月23日 |
#733 in 解析实现
每月42次下载
50KB
1.5K SLoC
蒂罗
注意。:这段代码主要为了熟悉 Rust,因此不是典型的/干净的等。
示例
tiro -a example/activities.txt
为什么?
-
反向计划
- 我需要1小时12分钟来做X,3小时47分钟来做Y,我之后有时间做Z吗?
-
与会计相同的逻辑,但用时间来表示
一些设计决策
-
逐行解析。
-
行的开头符号应该确定该行是什么
- 更容易更快,(解析,但也编辑)
(非Cargo) 需求
- libdbus
未来功能(想法)
能够合并多个计划
- 检查是否兼容
- 区间从开始日期到结束日期(段最后活动的结束日期)
- 可以定义一个结束日期语法来手动指定,并在解析阶段插入它
- 不重叠的区间
- 区间从开始日期到结束日期(段最后活动的结束日期)
- 如果兼容则合并
- 第一个选项:将较小的计划插入较大的计划中
- 直接使用解析的数据,而不是使用文件输入
- 需要解析时注册行,以便能够直接插入内容,就在日期之后
- 第二个选项:保持两个文件分开,只生成一个大的计划
- 简单合并解析数据
- 也相关于分层分类(例如,@work)
- 第一个选项:将较小的计划插入较大的计划中
- 如果以某种方式兼容,则能够合并计划(时间的比较)。使用中间没有内容的日期作为标记,如果活动的开始/结束时间匹配,则合并到文件中
仍然开放
输入格式
- 我能否只用 toml 或其他标记语言作为输入,而不是自定义的?
- 处理格式为 015 0h 15min 的时间戳以加快输入速度
- 处理只有小时给出的时间戳
待办事项
- 允许添加一些没有开始时间的活动,例如,考虑早上完成20分钟工作但没有具体说明
- 在每个文件中编写测试
- 对日期进行合理性检查:如果活动与当前日期的距离超过20小时,则有些可疑,警告
- 选项:隐藏子分类中的分类,例如,工作
- 选项:仅输出分类(@work)
- 尝试使用 fzf 为 tiro 文件获取自动完成
- 建议切换到已知的分类,如果接近
- 在某个地方显示屏幕宽度,以适应 tmux
- 显示 lifelapses 之间的剩余时间
- 活动之间的过渡
- 也监视配置文件
- 也在摘要中显示分类
- 移除分类的大小写敏感性,并将关联分类到象限
- 也保存活动文件
- 多行描述
- 检测一个分类是否有多个象限
- 使颜色可配置
- 找出为什么需要openssl-dev以及是否可以去除它
- 忽略不存在的输入文件
- 使用anyhow处理错误,而不是使用自定义错误
想法(输入)
- 类别树根据类别顺序
- 定义一个跨越多个活动的类别(开始/结束)
- 使用quickcheck进行测试
- 使用大量数据进行程序性能分析,并观察在复制或不复制时的差异
- 使用一个包含所有天数的连续文件
- 需要指明活动相对于彼此的持续时间
- @today指定当前日期,但如何处理次日修改的情况?
- 为任务长度添加系数
- 将“直到何时”的时间作为输入,而不是持续时间
- 活动中的分支(两个可能的选择)
- 正确处理时间偏移
依赖关系
~3–13MB
~135K SLoC