Files
nx_post_support/CHANGELOG.md
T
Christoph Brandau 01e8670cc1 feat(indexing): add persistent index cache and incremental reparse
- Pass extension storage path to the server (client/ changes) so the
  server can persist a workspace index.
- Introduce IndexCache (server/tools/index_cache.py) and load/save it on
  initialization and after background indexing. Index entries are stored
  only when the file's stat hasn't changed while being read.
- Add incremental reparse logic (server/tools/incremental_parse.py) and
  use a per-file _last_parse cache in the language server to reparse only
  the top-level Tcl commands touched by an edit, falling back to a full
  parse when necessary.
- Use a new _FileIndex dataclass and _build_file_index helper to unify
  what is stored/loaded for a file; update update_poco_completion_for_file
  to use the persistent cache for disk-read files (from_disk/source_stat).
- Keep background indexing non-blocking and persist the index at the
  end of the run. Add basic unit tests for incremental parse and index cache.

Before: edits and background work always required full parsing of files
and no persistent cross-restart index. After: some edits reuse previous
ASTs and files read from disk can use a persisted index to skip
re-indexing across restarts.
2026-09-23 13:20:09 +02:00

3.1 KiB

Unreleased

  • Reparse only the top-level TCL commands touched by an edit instead of the whole file
  • Cache the workspace index in the extension storage so restarts skip reparsing unchanged files; the cache is discarded automatically when the server or bundled tclint changes
  • Speed up TclOO completion, signature help, inlay hints, and Go to Definition by reusing the cached syntax tree and skipping files without classes
  • Speed up references, document highlights, and call hierarchy with cached definition lookups
  • Keep background indexing from blocking requests that need a fresh syntax tree
  • Add Go to Definition for TclOO classes, constructors, and resolved methods, including PSC library definitions
  • Index PSC layer scripts (including external paths and legacy Windows encoding) and share TclOO class metadata across files for completion, signatures, inlay hints, and highlighting
  • Add document-local TclOO method completion for new/create instances, my, and statically inferred return chains
  • Suggest TclOO class names as classes and semantically highlight their declarations and calls
  • Show signature help and parameter inlay hints for resolved TclOO methods and constructors, including optional and variadic arguments
  • Add incoming and outgoing call hierarchy for custom TCL procedures and MOM event handlers
  • Add document highlights for procedure and variable occurrences
  • Make completion context-aware and prioritize local, current-file, workspace, and built-in symbols
  • Add command-aware completion for Tcl subcommands, fixed arguments, and valid options
  • Add semantic argument completion for variables, procedures, namespaces, and local file paths
  • Add placeholder-based snippets for common Tcl structures and dict for
  • Integrate the NX Tcl Remote Debugger directly into NX Postprocessor Support
  • Add nx-tcl attach configurations and breakpoint support for TCL and DEF files
  • Support breakpoints, stepping, stack frames, variables, watches, evaluation, logpoints, hit conditions, and Tcl error stops
  • Add generation-safe stack and variable references so delayed VS Code requests cannot address stale NX frames
  • Add command-buffer breakpoint handling for LIB_GE_command_buffer_edit_* source bodies
  • Extend the README with launch configuration, path mapping, and debugger usage
  • Prevent truncated TCL inlay hints and add configurable parameter hint modes
  • Add inlay hints for built-in NX procedures, variadic arguments, and visible ranges
  • Add inlay hint documentation and navigation to custom procedure definitions
  • Add signature help for custom TCL procedures and built-in NX/MOM procedures
  • Clean stale TCL indexes on close, delete, and rename operations
  • Make background parsing and index updates thread-safe
  • Improve TCL response times with debounced edits and cached semantic, inlay, hover, completion, and variable indexes
  • Debounce CDL/DEF diagnostics and remove per-line diagnostic logging

[0.0.1]

  • Initial release

[0.0.2]

  • Add Autocomp for TYPE

[0.1.0]

  • Add Hover Feature

[0.2.0]

  • Add DEF File Support

[2026.6.100]

  • Fix several bugs

[2026.6.200]

  • Fix foramtting bug