-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
Nicolas Goaziou <m...@nicolasgoaziou.fr> writes: > Hello, > > stardiviner <numbch...@gmail.com> writes: > >> I found org link can't get link description easily. >> >> I googled it how to get link description. Found this solution. But it's not >> intuitive. >> >> #+begin_src emacs-lisp >> (defun get-description-at-point () >> (interactive) >> (let ((link (org-element-context))) >> (message "%s" (buffer-substring (org-element-property :contents-begin >> link) >> (org-element-property :contents-end >> link))))) >> #+end_src >> >> Why now support this? >> >> #+begin_src emacs-lisp >> (org-element-property :desc (org-element-context)) >> #+end_src >> >> Maybe the key ~:desc~ could be more meaningful detailed. > > Links with description are not leaf elements in the AST. I.e., the > parser needs to go deeper. As any non-leaf object, as, e.g., bold, it > has :contents-begin and :contents-end properties. Adding :desc would > duplicate information for no good reason. Hmm, I get the reason. Thanks for explanation. > > I see no problem writing an helper function once, and use it often. > > Besides, there are other, slightly different implementations of this > function, e.g., > > (defun get-description-at-point-2 () > (and (org-at-regexp-p org-link-bracket-re) (match-string 2))) > > This one is fuzzier, it will get description in fake links too (e.g., in > comments, property drawers…), but will be faster. So there is no single > function that fits every need. > Good to know another faster implementation. Thankful. Regards, - -- [ stardiviner ] I try to make every word tell the meaning that I want to express. Blog: https://stardiviner.github.io/ IRC(freenode): stardiviner, Matrix: stardiviner GPG: F09F650D7D674819892591401B5DF1C95AE89AC3 -----BEGIN PGP SIGNATURE----- iQFIBAEBCAAyFiEE8J9lDX1nSBmJJZFAG13xyVromsMFAl7FtAMUHG51bWJjaGls ZEBnbWFpbC5jb20ACgkQG13xyVromsNQBQf/RiEZsKS5NXhcta1RGftiUYGPah4l GQX0hrc+x/1Edm8ZGDLDXFy81LQVo1Min2dNxmEFnGqNjp8stfX6LYC5oxbt1Ye5 2FpejBGNyxvjZ/LpPwsIRr4xt3wlp2aNhoKO6VrqbLxJtxf92/Y9rccLBxNmzH7z xBXSDqrf5xBv+NC8hPTKbvPbo2b9OcJrFkF8cyBWU3T64iMqs6+F5TdmBZwOscXB NSu8Qha5+1QCz8pukk2iTvilzi37rdxRweOBDWvjKRmVdAQk35IoPop2Ip37OmRo tVqOx6Cc/7n0zTyhsYN36N5CsacPlR9FagzaroZ/9Jsp5DJCwtVh4YXU8A== =t/oC -----END PGP SIGNATURE-----