Thank your for taking up this quick posting.

While writing up the attached 'Exemple Complet Minimal', the
parsing turned out to work well.

Now only the :help-echo, not being triggered by an abbreviated link,
remains still an issue as demonstrated by the ECM below.


I shall consider your suggestion. However, I like the application-link
feature for its convenience not being forced to duplicate quite some
code in the :follow and :store functions.

Best,
mc


Demonstrate parsing of an abbreviated link:


Define the link
#+begin_src emacs-lisp
  (org-link-set-parameters "file+my-lengthy-application-link"
                             :help-echo "help-echo not showing, if mouse is on abbreviated link!")
#+end_src

#+RESULTS:


Set some abbreviations
#+begin_src emacs-lisp
  (setq org-link-abbrev-alist
        '(
          ("_" . "file+my-lengthy-application-link:::%s")
          ("__" . "file+my-lengthy-application-link:%s")
          ))
#+end_src

#+RESULTS:
: ((_ . file+my-lengthy-application-link:::%s) (__ . file+my-lengthy-application-link:%s))



* in-buffer links


the plain link: [[file+my-lengthy-application-link:::goto_in_buffer_target]]

=check :help-echo by mouse roll-over=

the abbreviated link: [[_:goto_in_buffer_target]]



* links with a relative path

to ~./someFile.org~


the plain link: [[file+my-lengthy-application-link:./someFile.org::goto_target]]

=check :help-echo by mouse roll-over=

the abbreviated link: [[__:./someFile.org::goto_target]]



* goto_in_buffer_target
a link target


* parse the links in this buffer
#+begin_src emacs-lisp :results verbatim
  (org-element-map (org-element-parse-buffer) 'link
    (lambda (el)
      ;; (message "link: %s" (org-element-type el))
      (let* ((link (org-element-context el))
             (path (org-link-unescape (org-element-property :path link)))
             (option (org-element-property :search-option link)))
             (message "path: %s \noption: %s \n\n" path option)
             )))
#+end_src

#+RESULTS:
#+begin_example
("path:
option: goto_in_buffer_target

" "path:
option: goto_in_buffer_target

" "path: ./someFile.org
option: goto_target

" "path: ./someFile.org
option: goto_target

")
#+end_example
* goto_target
another link target

On 2016-08-21 Sun 09:32, Nicolas Goaziou wrote:

> Hello,
>
> mc <m...@aiguphonie.com> writes:
>
>> As we talk about link abbreviations, another issue might add some useful 
>> information:
>>
>> links of link-type "file" (e.g. "file+new-link"), if follow via an
>> abbreviation, is not parsed correctly:
>
> I suggest to avoid using so called "application" links, i.e.,
> type+application syntax as it may be ditched at some point. You can
> define a new link type instead, e.g., "newlink" or "applink".
>
> In any case, could you provide an ECM?
>
> Thank you.
>
> Regards,


-- 
Fetch my gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 7E3CA33F

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to