Summary
Implement textDocument/semanticTokens to provide richer, semantics-aware highlighting beyond what TextMate grammar can express.
Scope
- Token types: variable, function, functionBlock, type, parameter, keyword, operator, constant
- Token modifiers: declaration, definition, readonly, local, global
- Full, range, and delta variants
- Differentiate standard library vs user-defined symbols
Implementation Notes
- New
SemanticTokensProvider in src/server/providers/
- Consume workspace indexer for symbol resolution
- Register capabilities in
server.ts
Acceptance
- User-defined FBs highlighted differently from standard library FBs
- VAR_INPUT, VAR_OUTPUT, VAR_IN_OUT parameters visually distinct
- CONSTANT variables use
readonly modifier
- Incremental delta updates on edits
- Tests cover token type and modifier assignments
Summary
Implement
textDocument/semanticTokensto provide richer, semantics-aware highlighting beyond what TextMate grammar can express.Scope
Implementation Notes
SemanticTokensProviderinsrc/server/providers/server.tsAcceptance
readonlymodifier