Skip to content

Fix Go to Definition for cached BIG archives - #130

Open
ViTeXFTW wants to merge 1 commit into
devfrom
t3code/fix-big-archive-definitions
Open

ViTeXFTW wants to merge 1 commit into
devfrom
t3code/fix-big-archive-definitions

Conversation

@ViTeXFTW

@ViTeXFTW ViTeXFTW commented Sep 9, 2026 •

Copy link
Copy Markdown
Owner

Summary

A lowercase Windows drive letter in baseIniRoots caused the scanner to store big:///c:/... while definition navigation looked up big:///C:/.... The archive was indexed, but Go to Definition returned no location.

  • Share URI normalization between scanning and client requests so definitions and archived source text use the same keys.

  • Bump the cache producer version so older records rebuild automatically.

  • Add regressions for navigation into and within archived INI files, including a server restart that confirms the saved cache is reused, VS Code URI encoding, and exact definition ranges.

  • Closes [Feature] Goto definition for cached files #66.

Tests

Passed locally on Windows:

  • cargo test --locked
  • cargo test --locked -p zerosyntax-server big_uri_normalizes_configured_drive_letter
  • Full LSP stdio suite: crates/server/tests/e2e.py
  • Cold-cache and warm-cache regression: crates/server/tests/e2e_big_cache.py
  • cargo clippy --locked --all-targets --all-features -- -D warnings
  • cargo fmt --all --check
  • git diff --check

Checklist

  • I kept the change focused.
  • I ran the relevant checks or explained why they were skipped.
  • I did not commit generated artifacts, game source, corpus data, or secrets.

@greptile-apps

greptile-apps Bot commented Sep 9, 2026

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

The PR appears safe to merge, with URI identity consistently applied across scanning and client lookups and regression coverage for persisted cache reuse.

Summary

  • Moves file and BIG URI canonicalization into a shared server module.
  • Canonicalizes BIG archive entry URIs before indexing and caching.
  • Advances the cache producer identity to rebuild incompatible records.
  • Exercises definition navigation, virtual-file reads, URI encoding, exact ranges, and cache reuse across a server restart.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] Goto definition for cached files

1 participant