PawnForge v1.5.9 Release Notes
π‘ Special thanks to @iXP0Mt for reporting Issue #1 and providing valuable feedback!
β¨ What's New
π Workspace References Across Headers (Shift+F12)
- "Go To References" across
.incfiles without opening.sma: The Language Server now recursively scans and discovers all.incand.smaworkspace files (findWorkspaceFiles), resolving symbol references across headers even when opening an.incfile in isolation. - Instant string pre-filtering: Achieves sub-millisecond lookup latency (~0.39 ms across 100 files).
- Reactive workspace cache: Workspace file list is kept in memory and automatically invalidated on file changes.
π― Interactive Navigation on Symbol Definitions
Ctrl+Clickon definitions:doDefinitionnow returns a valid location on definition lines. Paired witheditor.gotoLocation.alternativeDefinitionCommand: "editor.action.goToReferences", clicking a definition withCtrlheld opens all references in the workspace.- Smart definition exclusion: When invoking "Go to References" directly on the definition line, the definition itself is excluded from the results list to avoid redundancy, showing only actual call sites. When invoked from a call site, the definition is preserved.
π Local Variable Scope Isolation
- References for local variables are now strictly bounded to their enclosing function (
scopeStartLine..scopeEndLine), preventing collision with same-named variables in other functions or files. - Invoking references on the variable's declaration line excludes the declaration itself.
Full Changelog: v1.5.8...v1.5.9