怎么给@指定一个模版

我们在定义 比如 sequence("TODO(t@/!) ...."

这里的@不是起到记录note的作用吗

如何写一个功能可以实现

  1. 根据不同的状态,比如切换到这个TODO,然后记录note插入一个自定义模版,比如一些问题,为什么开始读这本书,想要什么样的结果等等
  2. 模版支持可以统计一些数据,比如类似{{time}}就可以解析从上个状态切换到这个状态的时间统计

elisp小白,要想实现这个功能,该怎么思考,怎么设计,怎么实现?

我感觉应该可能要利用到org-after-todo-state-change-hook 然后不知道 @ 的机制是什么,怎么插入文本到 跳出来的note 里面

可以看看 org-add-log-setuporg-add-log-note 这两个函数。

如果要在 *Org Note* buffer 插入模板的话,可以用 org-log-buffer-setup-hook ,但是相关数据需要自己获取,当然也可以用 yasnippet/tempel 之类的插件。

ps.

org log 这个实现的好像有点问题,!@ 不能同时用,比如说从一个状态出来时记录 note with timestamp ,进入另一个状态时记录 timestamp ,这时两个就会矛盾。