orion.core.linkScanner

Link scanners are declarative services that specify patterns of text to replace with link anchors. Scanners contribute a regular expression pattern to match in the source text. They then provide a link to be inserted for each match. These scanners are used by the text link service to convert text into a DOM node with appropriate anchor and text nodes as children.

Service methods

None.

Service attributes

Implementations of orion.core.linkScanner must define the following attributes:

pattern
A regular expression string to locate links in the source text
words
A Number identifying the number of white-space delimited words in each match
anchor
A template of the URL for each match. The template may contain variables of the form %1, %2, etc, which are substituted by each of the words in the match.

Examples

The following scanner will replace text of the form "bug 123456" with links of the form " https://bugs.eclipse.org/123456

 var provider = new eclipse.PluginProvider();
 var serviceImpl = {};
 var serviceProperties = { 
   pattern: "bug\\s\\d{4,7}",
   words: 2,
   anchor: "https://bugs.eclipse.org/%2"
 };
 provider.registerServiceProvider("orion.core.linkScanner", serviceImpl, serviceProperties);
 provider.connect();

This scanner will replace email addresses with mailto: URLs:

 var provider = new eclipse.PluginProvider();
 var serviceImpl = {};
 var serviceProperties = { 
   pattern: "\\b[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b",
   words: 1,
   anchor: "mailto:%1"
 };
 provider.registerServiceProvider("orion.core.linkScanner", serviceImpl, serviceProperties);
 provider.connect();