# %semanticTokens

###### Identifier:

org.eclipse.jdt.ui.semanticTokens

###### Since:

3.34

###### Description:

Allows contributions of semantic tokens into Java source editor. Contributions are not sorted. This extension point is experimental.

###### Configuration Markup:

<!ELEMENT extension (provider+)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED>

Allows contributions of semantic tokens into Java source editor. Contributions are not sorted. This extension point is experimental.

- point - a fully qualified identifier of the target extension point
- id - an optional identifier of the extension instance
- name - an optional name of the extension instance

<!ELEMENT provider EMPTY>

<!ATTLIST provider

class CDATA #REQUIRED>

Contributed provider of semantic tokens

- class - Instance of the class able to compute Semantic Tokens for a given Java source AST

###### Examples:

The following is an example of a Semantic Tokens Provider contribution:

       <extension point="org.eclipse.jdt.ui.semanticTokens">
          <provider
                class="org.eclipse.example.jdt.ExampleJavaSemanticTokensProvider">
          </provider>
       </extension>

###### API Information:

The contributed class must implement `org.eclipse.jdt.ui.text.java.ISemanticTokensProvider`

###### Supplied Implementation:

Allows contributing `org.eclipse.jdt.ui.text.java.ISemanticTokensProvide` which will colour the code with colours allowed in the Java Editor. This is useful for languages embedded into Java via annotation parameters for example such as SQL queries, Spring Expression Language snippets etc. The contributions are not sorted. It is recommneded therefore not to override semantic tokens between providers. This extension is experimental and only used by LSP4E project at the moment.

Copyright (c) 2024 Broadcom Inc. 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-v20.html/ SPDX-License-Identifier: EPL-2.0