[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: contrib - ol-todo
From: |
Ihor Radchenko |
Subject: |
Re: contrib - ol-todo |
Date: |
Tue, 20 Sep 2022 16:20:44 +0800 |
Tyler Grinn <tylergrinn@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