Arthur Miller <arthur.mil...@live.com> writes:

>> (org-link-set-parameters "http" :insert-description #'your-function)
>> (org-link-set-parameters "https" :insert-description #'your-function)
>
> Thanks, after some thinkering I got it:
>
> ...
> (org-link-set-parameters "http" :insert-description #'org-desc-from-clipboard)
> (org-link-set-parameters "https" :insert-description 
> #'org-desc-from-clipboard)
> #+end_src
>
> And I can do it async too, *but*; this will affect all insertions of links,
> right?

Indeed. By design, `org-insert-link' is synchronous - it expects the
link and description to be available upon request.

> I am not sure if it is safe/possible always to access the internet or do
> it asynchronously, so I'll abandon the ship and revert to home-cooked one just
> for the precautios measures:

What you can do is (1) make url descriptions be something like <title to
be retrieved>; (2) add an :after advice for `org-insert-link' that will
queue asynchronous url fetching; (3) replace <title to be retrieved>
with the fetched title upon finishing the request. If the request fails,
the description will remain <title to be retrieved>.

Or you can run description retrieval independently, as a minor mode
that will search for <title to be retrieved> marks and try to fetch
them.

-- 
Ihor Radchenko // yantar92,
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>

Reply via email to