feat: first-class directory tracking across status, diff, read, stage, reset
- plugin.py: directory op addresses carry trailing slash (AddressedInsertOp, AddressedDeleteOp, RenameOp) — canonical algebra signal for directories - symbol_diff.py: separate dir/file/symbol counts in stat summary; dirs reported as 'N added directory/directories' not 'N added file' - status.py: untracked dirs shown in long-form text (dir_added was computed but never rendered); 3-tier labels — 'new directory:', 'new file:', 'new symbol:', 'modified symbol:', 'deleted symbol:'; untracked entries labeled 'untracked file:' / 'untracked directory:' in red - code_stage.py: stage message distinguishes dirs from files ('Staged 1 directory.' not '1 file(s)'); reset message granular by dir/file/symbol - read.py: color-coded A/D/M/R lines (full line colored, not just prefix); Directories/Files/Symbols summary labels; fallback path includes dir diff from snapshot.directories; is_tty-gated, no ANSI in non-TTY mode - init.py: .vscode/, .idea/, *.iml added to global .museignore template - .museignore: add .vscode/, .idea/, *.iml to repo ignore rules - 6 new TDD test files covering all of the above (56 tests)
Semantic Changes
218 symbols
0 comments
muse hub commit comment sha256:3767afb72520f9b56053bb98fd83d323f738ee4cad16e306e8cf6862608380e4 --body "your comment"
No comments yet. Be the first to start the discussion.