Tyler Grinn <tylergr...@gmail.com> writes: > I've built this small package which registers a todo type link: > > [[todo:~/projects.org::#my-todo][My todo]] > > And it is displayed like this: > > <DONE> My todo > > Where DONE is the actual todo keyword on the target heading. The keyword > on the link and target stay in sync, so setting a different todo keyword > either on the link or the target will update both. The link does not > show up in the agenda and can be placed anywhere an org link is valid. > > I'm using this to create a list of todos I want done today from a larger > list of all my todos.
Why don't just modify :activate-func in the ordinary file links? > Is this something that would be appropriate for org-contrib? Note that org-contrib is obsolete. See https://git.sr.ht/~bzg/org-contrib/. I recommend submitting your package to GNU ELPA or NonGNU ELPA. > When I tried to register a :store function which is valid for org buffers > backed by a file, the desired behavior was that I could choose between > storing a file link and a todo link, but instead, it simply stores a > todo link without confirmation. Is this a known problem? See org-store-link-functions docstring: >> Each function will be called in turn until one returns a non-nil >> value. Each function should check if it is responsible for >> creating this link (for example by looking at the major mode). >> If not, it must exit and return nil. If yes, it should return >> a non-nil value after calling org-link-store-props with a list >> of properties and values. Your store function can provide interactive query and return nil if the user does not want to create todo: link. -- Ihor Radchenko, Org mode contributor, Learn more about Org mode at https://orgmode.org/. Support Org development at https://liberapay.com/org-mode, or support my work at https://liberapay.com/yantar92