syside.ide.build_full_semantic_tokens
- build_full_semantic_tokens(document: syside.Document, encoding: syside.ide.lsp.PositionEncodingKind = lsp.PositionEncodingKind.Utf8, multiline_tokens: bool = True, builder: syside.ide.SemanticTokensBuilder | None = None) syside.ide.SemanticTokensBuilder | None
Build full document semantic tokens. Returns
builder
if successful, andNone
otherwise. Generally,None
is returned if thedocument
has nothing to highlight.- Parameters:
document – The document to build full semantic tokens for.
encoding – The position encoding to use for semantic tokens. Use Utf32 if interacting with Python strings.
multiline_tokens – Whether to keep multiline tokens as is and not split them. Generally used for language clients that do not support multiline tokens.
builder – The builder to collect semantic tokens into. Note that if provided, its internal state will be reset.
- Returns:
Provided
builder
, or new one otherwise, if there was anything to highlight.- Raises:
ValueError – If
encoding != Utf8 or not multiline_tokens
anddocument.text_document is None
. Utf8 encoding andmultiline_tokens
does not require a text source as all the required information is already contained in the CST.