emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] set different colors for different link types


From: Jambunathan K
Subject: Re: [O] set different colors for different link types
Date: Sat, 30 Apr 2011 09:55:28 +0530
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (windows-nt)

> Hi Michael,
>
> Thank you for your suggestion.  However, I would prefer not to clutter
> the text with repeating the protocol there.  Also, the example I gave
> is mainly for illustration, in the way I use it, the description would
> not show the filename, but some other text.
>
> Chris
>
> On 2011-04-30 00:18, Michael Brand wrote:
>> For links with a description I always just repeat the protocol tag
>> there manually:
>> [[file://path/to/my file][file: myfile]]
>> [[http://www.example.com/path/to/my file][http: myfile]]
>>
>> Together with the space after the colon this shows, also immediately,
>> if you look only at the link description or at the link itself:
>> [[file://path/to/my file]]
>> [[http://www.example.com/path/to/my file]]
>>
>> This color-independent solution works even if colors would not be
>> available occasionally like with some terminal configs.
>>
>> Michael
>>
>> 2011/4/29 Christian Wittern<address@hidden>:
>>> In the archives, I have seen on and off references to a new, extensible
>>> syntax that would go beyond /italic/, *bold* and =code=, but I have seen no
>>> traces of seeing it implemented.
>>>
>>> For the time being, therefore I am settling on having different linktypes
>>> coming up in different colors, which I hope is doable, but again, I found no
>>> immediate solution.  I wonder if somebody has an idea of how to go about
>>> this.  What I would like to see is that, for example:
>>>
>>> [[file://path/to/my file][myfile]]  comes out visibly different from
>>> [[http://www.example.com/path/to/my file][myfile]] , for example the one in
>>> red, the other in blue.

The easiest way to figure out the protocol is to "pretend" that you are
editing the link and thereby have the curtain raised a bit to reveal the
backstage. Do a C-c C-l or M-x org-insert-link RET (with cursor right
over the link) followed by 'C-g'ing.

If you are willing to hack something together, here is a possible entry
points for attack. With M-x highlight-regexp you could add persistent
regexp patterns for fontification.

1. Do a M-x describe-text-properties RET on a link to see what is under
   the hood.

   For example in one of my links I see

--8<---------------cut here---------------start------------->8---
Text content at position 509:

There are text properties here:
  face                 org-link
  font-lock-multiline  t
  fontified            t
  help-echo            "LINK: file:src/org-jambu/lisp/org-odt.el"
  keymap               [Show]
  mouse-face           highlight
  org-no-flyspell      t
--8<---------------cut here---------------end--------------->8---

2. Start with org-descriptive-links set to nil (makes all components of
   link visible)

3. Start with org-bracket-link-analytic-regexp as a starting regexp
   which needs to be fine grained into say web urls, file urls etc etc

4. See org-activate-bracket-links for ideas on how org accomplishes
   highlighting correctly.

C-h hi-lock-mode
C-h f highlight-regexp 
C-h v hi-lock-file-patterns-policy
C-h v org-descriptive-links
C-h v org-angle-link-re
C-h v org-bracket-link-regexp
C-h v org-bracket-link-analytic-regexp
C-h f org-activate- <TAB> (look for functions like
org-activate-bracket-links etc)

Jambunathan K.
-- 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]