public class SmartDocumentFilter
extends DocumentFilter
The document filter based on Parrot's lexer is for highlighting the content of text editor
| Modifiers | Name | Description |
|---|---|---|
static List<Integer> |
HIGHLIGHTED_TOKEN_TYPE_LIST |
Token types rendered with the reserved-word style. |
| Constructor and description |
|---|
SmartDocumentFilter(DefaultStyledDocument styledDocument)Creates a filter that styles the supplied document. |
| Type Params | Return Type | Name and description |
|---|---|---|
|
public List<Token> |
getLatestTokenList()Returns the tokens produced by the most recent successful parse. |
|
public Tuple2<Integer, Integer> |
getRenderRange()Returns the character range scheduled for selective re-rendering. |
|
public void |
insertString(FilterBypass fb, int offset, String text, AttributeSet attrs)Invoked prior to insertion of text into the specified Document. Subclasses that want to conditionally allow insertion should override this and only call supers implementation as necessary, or call directly into the FilterBypass.
|
|
public boolean |
isLatest()Indicates whether the cached token list reflects the current document text. |
|
public void |
remove(FilterBypass fb, int offset, int length)Invoked prior to removal of the specified region in the specified Document. Subclasses that want to conditionally allow removal should override this and only call supers implementation as necessary, or call directly into the FilterBypass as
necessary.
|
|
public void |
reparseDocument()Forces a full re-parse and re-render of the document with current styles. |
|
public void |
replace(FilterBypass fb, int offset, int length, String text, AttributeSet attrs)Invoked prior to replacing a region of text in the specified Document. Subclasses that want to conditionally allow replace should override this and only call supers implementation as necessary, or call directly into the FilterBypass.
|
|
public void |
setRenderRange(Tuple2<Integer, Integer> renderRange)Limits rendering to the supplied character range for the next parse. |
|
public static void |
updateStyles()Updates all SmartDocumentFilter styles with current theme colors. |
Creates a filter that styles the supplied document.
styledDocument - the document to tokenize and highlightReturns the tokens produced by the most recent successful parse.
Returns the character range scheduled for selective re-rendering.
null if the whole document will be renderedInvoked prior to insertion of text into the specified Document. Subclasses that want to conditionally allow insertion should override this and only call supers implementation as necessary, or call directly into the FilterBypass.
fb - FilterBypass that can be used to mutate Documentoffset - the offset into the document to insert the content >= 0.
All positions that track change at or after the given location
will move.string - the string to insertattr - the attributes to associate with the inserted
content. This may be null if there are no attributes.Indicates whether the cached token list reflects the current document text.
true if the latest parse completed successfully Invoked prior to removal of the specified region in the
specified Document. Subclasses that want to conditionally allow
removal should override this and only call supers implementation as
necessary, or call directly into the FilterBypass as
necessary.
fb - FilterBypass that can be used to mutate Documentoffset - the offset from the beginning >= 0length - the number of characters to remove >= 0Forces a full re-parse and re-render of the document with current styles. Clears the incremental-render cache first so every token is restyled, not just the ones that differ from the last parse.
Invoked prior to replacing a region of text in the specified Document. Subclasses that want to conditionally allow replace should override this and only call supers implementation as necessary, or call directly into the FilterBypass.
fb - FilterBypass that can be used to mutate Documentoffset - Location in Documentlength - Length of text to deletetext - Text to insert, null indicates no text to insertattrs - AttributeSet indicating attributes of inserted text,
null is legal.Limits rendering to the supplied character range for the next parse.
renderRange - the inclusive start and stop offsets to re-render, or null for all textUpdates all SmartDocumentFilter styles with current theme colors. Attribute values are sourced from ThemeManager so custom .theme files feed both this (ANTLR-token-driven) path and the regex-driven GroovyFilter path from one place. Called at init time and on theme switch.
Copyright © 2003-2026 The Apache Software Foundation. All rights reserved.