This extension point allows extensions to contribute to the semantic highlighting.
<p>
Extensions specify the priority of the highlighting, which determines the order in which the highlighting is invoked.
</p>
<p>
This extension point supports the <code>enablement</code> tag. Properties to test on are:
<dl>
<li>projectNatures: type Collection; all project natures of the current project</li>
<li>languageId: type String; the result if ILanguage.getId on the token's ITranslationUnit</li>
</dl>
</p>
<p>
Contributed highlightings will be visible in the Code tree of the 'C/C++ - Editor - Syntax Colouring' preference page.
</p>
a fully qualified identifier of the target extension point
an optional identifier of the extension instance
an optional name of the extension instance
A unique identifier for the Quick Fix processor.
A localized name of the Quick Fix processor.
The name of the class that implements this Semantic Highlighting. The
class must be public and implement
<samp>org.eclipse.cdt.ui.text.ISemanticHighlighter</samp>
with a public 0-argument constructor.
The priority determines the order in which highlightings are given the opportunity to highlight a token. Lower values are more important.
The priorities of the built-in highlightings are available in <code>org.eclipse.cdt.internal.ui.editor.SemanticHighlightings.loadBuiltInSemanticHighlightings</code>.
A key to uniquely identify the highlighting's settings in the preference store.
The name that is displayed for the highlighter in the Preferences window.
The default text color of the contributed highlighting. The value must be the integer RGB values (0-255) separated by commas. E.g., "127,0,85". Defaults to "0,0,0" (black).
Defaults to <code>false</code>.
Defaults to <code>false</code>.
Defaults to <code>false</code>.
Defaults to <code>false</code>.
Defaults to <code>false</code>.
8.2
The following is an example of a Semantic Highligher contribution:
<p>
<pre>
<extension
point="org.eclipse.cdt.ui.semanticHighlighting"
name="%extensionName"
id="com.example.ui.semanticHighlightings">
<semanticHighlighting
id="com.example.ui.keywordHighlighting"
priority="5"
class="com.example.internal.ui.ExampleHighlighting"
preferenceKey="example-keywords"
displayName="%exampleHighlighting.displayName"
defaultTextColor="127,0,85"
defaultBold="true"
defaultEnabled="true">
<enablement>
<with variable="projectNatures">
<iterate operator="or">
<equals value="org.eclipse.cdt.core.ccnature"/>
</iterate>
</with>
<with variable="languageId">
<or>
<equals value="org.eclipse.cdt.core.g++"/>
<equals value="org.eclipse.cdt.core.gcc"/>
</or>
</with>
</enablement>
</semanticHighlighting>
</extension>
</pre>
</p>
The contributed class must implement <code>org.eclipse.cdt.ui.text.ISemanticHighlighter</code>
Copyright (c) 2013 QNX Software Systems and others.
This program and the accompanying materials
are made available under the terms of the Eclipse Public License 2.0
which accompanies this distribution, and is available at
https://www.eclipse.org/legal/epl-2.0/
SPDX-License-Identifier: EPL-2.0