feat: list and complete used tags and markers (v0.7.0) #150
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "149_used-tags-markers-completion"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #149.
What this adds
streamd tags@name, one per line, sorted alphabetically.@20260101,@0900) are left out.STREAMD_NO_CACHEis set, the corpus is scanned directly instead, and a test checks that both paths print the same list.LSP
@completion.streamd.tomlreload, then refreshed in the background after every save and every watched.mdchange.Graph cache
:Tagnode of the same name but use a separateMARKEDedge, so tag co-occurrence keeps its meaning.projection_dirtyflag on:Metarecords that files changed since the projection was built. Every command syncs the structural layer, but only these new consumers rebuild the projection, so a single sync result can't tell whether the projection is stale.streamd cache rebuildis no longer needed first. Other commands never touch the projection.Also fixed: flaky tests (the failing Nix / home-manager build)
STREAMD_CACHE_DIRandSTREAMD_NO_CACHEprocess-wide while the rest of the suite ran in parallel. A cache test could briefly see another cache directory or a disabled cache.test_cache_lives_outside_the_stream_folder, and occasionally a new LSP test.disables_cache,load_markdown_shards_with_cache), so no test changes the environment anymore.Version
Bumped to 0.7.0 (minor).
Verification
cargo test: 313 tests pass.cargo clippy --all-targetsandcargo fmtare clean, andnix flake checkpasses.streamd tagsrun: output is the same with a cold cache, a warm cache andSTREAMD_NO_CACHE=1.@rusuggested@rustacean, a tag used only in another file.@brandnew,@brasuggested it.Follow-ups (not in this PR)
STREAMD_BASE_FOLDER(R23) is not implemented.Settings::loadnever reads it; onlyconfig.tomland the current directory are used.@Idea:,@TNG?and@Name,, so the list and completion show near-duplicates. Fixing that belongs in extraction, not in this listing.https://claude.ai/code/session_013fFsc2ryYqZRBUorNdbWZw
streamd tagslisting every used tag and marker 8be86e2c1bstreamd tags, used-name completion and projection freshness 8068b2e716Follow-ups now fixed in this PR
Both items listed under Follow-ups in the description are fixed here, each in its own commit.
34828aafix(config): honourSTREAMD_BASE_FOLDERas documented in R23Settings::loadnever read the variable, so the override did nothing and commands ran against the folder fromconfig.toml.config.tomlis not read at all then. An empty value is ignored.Settings::load_from, so the tests don't set environment variables (avoiding the kind of flakiness fixed earlier in this PR).6db54edfix(extract): strip trailing punctuation from tag and marker namesCall @Anna, then @Bob.now yieldsAnnaandBob, and(@Klein)yieldsKlein. Previouslystreamd tagsand completion showed near-duplicates like@Idea/@Idea:.. , : ; ! ? ) } " 'at the end of the name. Inner punctuation is kept (@sim.de,@Until:20250731,@don't).@Task, @Done fixstill has two markers.@followed only by punctuation (@?!) is plain text, not a tag.Both are documented in
REQUIREMENTS.md(R1, R23), and the override is also inREADME.md.cargo testpasses (326 tests, 5 runs in a row), clippy is clean, andnix flake checkpasses.https://claude.ai/code/session_013fFsc2ryYqZRBUorNdbWZw