A recent feature request raised a new area of integration/customization for me. I've developed a package to browse GitHub content and we'd like to be able to store a link to the current 'thing' using
C-c C-l). Problem is – it doesn't seem like I can change the behavior of the
https? protocol without completely replacing it.
At any given time, there are multiple things you might want to get the link for – and they'd all be https? links. How can I define multiple functions for a link type such that they can provide multiple options? Reading
org-store-link-functions, this doesn't appear to be possible.
Pursuant to the comments below…
This is for proposed Magithub functionality. Magithub is a Magit-based GitHub client that can view issues, pull requests, and comments (among other things). You can choose to visit the current 'thing' in the browser using
w, though sometimes the current 'thing' is ambiguous. For example, if point is at a comment, it is also technically at an issue or PR. Point could even be at a link within a comment on an issue – and now there are three distinct link candidates for storing. Ideally,
org-store-link should at this point prompt for which link should be stored (which does appear to be possible per the
results-alist variable in the definition). The list of functions though comes from the return of
org-store-link-functions which collects over
org-link-parameters, so it seems it's not as simple as adding a function to a list.
org-store-link completes, I'm guessing
org-stored-links would just have a list
("some human-readable title I define" "https://github.com/some/project/issues/123") added as an element.