mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-30 10:17:50 +08:00
syntax_highlighting_and_error_highlighting.md: minor
This commit is contained in:
parent
35eaa0cac1
commit
add1b41c30
@ -16,15 +16,17 @@ The syntax and error highlighting are performed on multiple levels: [](#lexer),
|
||||
|
||||
## TextAttributesKey
|
||||
|
||||
The class used to specify how a particular range of text should be highlighted is called [`TextAttributesKey`](%gh-ic%/platform/core-api/src/com/intellij/openapi/editor/colors/TextAttributesKey.java).
|
||||
An instance of this class is created for every distinct type of item that should be highlighted (keyword, number, string, etc.).
|
||||
How a particular range of text should be highlighted is defined via [`TextAttributesKey`](%gh-ic%/platform/core-api/src/com/intellij/openapi/editor/colors/TextAttributesKey.java).
|
||||
An instance of this class is created for every distinct type of item that should be highlighted (keyword, number, string literal, etc.).
|
||||
|
||||
The `TextAttributesKey` defines the default attributes applied to items of the corresponding type (for example, keywords are bold, numbers are blue, strings are bold and green).
|
||||
The `TextAttributesKey` defines the default attributes applied to items of the corresponding type (for example, keywords are bold, numbers are blue, string literals are bold and green).
|
||||
Highlighting from multiple `TextAttributesKey` items can be layered — for example, one key may define an item's boldness and another one its color.
|
||||
|
||||
> To inspect applied `TextAttributesKey`(s) for the element at the caret, use <ui-path>Jump to Colors and Fonts</ui-path> action.
|
||||
> To inspect applied `TextAttributesKey`(s) in the editor for the element at the caret, use <ui-path>Jump to Colors and Fonts</ui-path> action.
|
||||
>
|
||||
> The underlying `TextAttributeKey`'s external name for items in <ui-path>Settings | Editor | Color Scheme</ui-path> can be inspected using [UI Inspector](internal_ui_inspector.md#inspecting-settings).
|
||||
>
|
||||
{title="Looking up existing TextAttributeKey"}
|
||||
|
||||
## Color Settings
|
||||
|
||||
@ -48,7 +50,7 @@ Thus, it will work automatically for custom languages that provide a syntax high
|
||||
|
||||
The first syntax highlighting level is based on the lexer output and is provided through the [`SyntaxHighlighter`](%gh-ic%/platform/editor-ui-api/src/com/intellij/openapi/fileTypes/SyntaxHighlighter.java) interface.
|
||||
The syntax highlighter returns the `TextAttributesKey` instances for each token type, which needs special highlighting.
|
||||
For highlighting lexer errors, the standard `TextAttributesKey` for bad characters [`HighlighterColors.BAD_CHARACTER`](%gh-ic%/platform/editor-ui-api/src/com/intellij/openapi/editor/HighlighterColors.java) can be used.
|
||||
For highlighting lexer errors [`HighlighterColors.BAD_CHARACTER`](%gh-ic%/platform/editor-ui-api/src/com/intellij/openapi/editor/HighlighterColors.java) should be used.
|
||||
|
||||
**Examples:**
|
||||
|
||||
@ -57,6 +59,7 @@ For highlighting lexer errors, the standard `TextAttributesKey` for bad characte
|
||||
|
||||
> Use [`HtmlSyntaxInfoUtil`](%gh-ic%/platform/lang-impl/src/com/intellij/openapi/editor/richcopy/HtmlSyntaxInfoUtil.java) to create Lexer-based highlighted code samples, e.g. for usage in documentation.
|
||||
>
|
||||
{title="Creating highlighted code sample"}
|
||||
|
||||
### Semantic Highlighting
|
||||
|
||||
@ -160,5 +163,5 @@ To enable running `ExternalAnnotator` during indexing in [](indexing_and_psi_stu
|
||||
|
||||
Existing highlighting can be suppressed programmatically in certain contexts, see [](controlling_highlighting.md).
|
||||
|
||||
To force re-highlighting (e.g., after changing plugin specific settings), use
|
||||
To force re-highlighting all open or specific file(s) (e.g., after changing plugin specific settings), use
|
||||
[`DaemonCodeAnalyzer.restart()`](%gh-ic%/platform/analysis-api/src/com/intellij/codeInsight/daemon/DaemonCodeAnalyzer.java).
|
||||
|
Loading…
x
Reference in New Issue
Block a user