Emacs org toggl将日志与条目同步的方法

Emacs org toggl将日志与条目同步的方法,emacs,org-mode,Emacs,Org Mode,我用它来追踪我的时间。对于简单的每个日志条目一个标题来说,这非常有用 组合的原因是我可以通过手机应用程序添加toggl条目。否则,org当然就足够了 在工作中,我经常遇到以下问题: 我开始做项目A,在标题上写上指定的项目A 后来,我参加了一个关于另一个主题的会议,我会用另一个标题或项目登录,而忘记了打卡并在一个新条目中登录 目前,我无法如此轻松地更新切换条目: 我停止计时,在组织日志中添加另一个条目,然后计时。之后,我在org和togglweb应用程序中手动更新时间条目 为了优化这一点,我测

我用它来追踪我的时间。对于简单的每个日志条目一个标题来说,这非常有用

组合的原因是我可以通过手机应用程序添加toggl条目。否则,org当然就足够了

在工作中,我经常遇到以下问题:

  • 我开始做项目A,在标题上写上指定的项目A
  • 后来,我参加了一个关于另一个主题的会议,我会用另一个标题或项目登录,而忘记了打卡并在一个新条目中登录
目前,我无法如此轻松地更新切换条目: 我停止计时,在组织日志中添加另一个条目,然后计时。之后,我在org和togglweb应用程序中手动更新时间条目

为了优化这一点,我测试了以下内容:


(定义toggl开始时间条目(说明和可选pid显示消息pt)
“开始切换GL时间条目。”
(交互式“MDescription:\ni\np”)
(setq pid(或pid toggl默认项目))
(toggl)申请职位
“时间\输入/开始”
(json编码“(“时间”项)。
((“说明”。,说明)
(“pid”。,pid)
(“使用“.mbork的Emacs toggl客户端”创建的);”))
无
(cl)功能
(lambda(&键数据pt&允许其他键)
(setq toggl当前时间输入数据)
(组织条目输入pt“toggl id”(编号到字符串(alist get'id(alist get'data toggl current time条目)))
(显示消息时(消息“Toggl时间输入已启动”))
(cl)功能
(lambda(&抛出键错误&允许其他键)
(显示消息时(消息“启动时间输入失败,因为%s”错误引发()()())))
(定义组织toggl更新时钟()
“在点处更新标题的时间。”
(互动)
(let*((标题(子字符串无属性(组织获取标题t)))
(项目(组织条目获取(点)“toggl项目”组织toggl继承toggl属性))
(pid(toggl获取pid项目))
(toggl条目id(组织条目获取(点)“toggl id”组织toggl继承toggl属性)))
(如果toggl条目id(toggl更新时间条目标题toggl条目id pid t(点))
(消息“未找到切换条目id。无操作…”)
(定义toggl更新时间条目(说明切换条目id和可选pid显示消息pt)
“更新Toggl时间条目。仅当Toggl id存在时才可能。”
(互动)
(setq pid(或pid toggl默认项目))
(toggl)请求放置
(concat“time\u entries/”切换条目id)
(json编码“(“时间”项)。
((“说明”。,说明)
(“pid”。,pid)
(“使用“.mbork的Emacs toggl客户端”创建的);”))
无
(cl)功能
(lambda(&键数据pt&允许其他键)
(setq toggl当前时间输入数据)
(组织条目输入pt“toggl id”(编号到字符串(alist get'id(alist get'data toggl current time条目)))
(显示消息时(消息“Toggl时间输入已更新”))
(cl)功能
(lambda(&抛出键错误&允许其他键)
(显示消息时(消息“更新时间项失败,因为%s”引发错误()()())))
由于我不是lisp专业人士,我现在面临多个问题:

  • 我的代码只适用于同一标题的单个时钟条目。所以我的代码只能更新现有条目的项目和标题
  • 我想用C-C-C钩子更新时钟条目——为此,我需要解析日志抽屉,并在日志中的时钟条目和toggl ID之间有一个明确的关系。 我发现有“插入抽屉”-是否有类似的API从时钟条目中获取时间等,并以相同的顺序添加具有相应toggl ID的抽屉
  • Thx