Repository navigation
cli: correct fs help and learn.md - #65
Conversation
d3cddfa to
9d19cd5
Compare
8581425 to
85b2308
Compare
85b2308 to
1da42f4
Compare
There was a problem hiding this comment.
Ultimator's review of 1da42f4
This round is a rebase onto bc9ba7c. The top commit, "cli: correct fs help and learn.md", has the same help and learn.md text as 85b2308: client-cwd wording for fs sync, git --repo and lsp --root, --no-ignore/-m help, and learn.md now using fs mkdir --parents and plain fs rm dir. It matches the stacked behavior changes, and I found no defects. CI for 1da42f4 is not reported yet (85b2308 passed 11 checks).
No issues found.
Reviewed in 14s · Session · @ultimator-ai review reviews again · @ultimator-ai fix fixes the open issues
|
Skipped this pull request: the review of |
A status snapshot can reflect an index written after its pass reconciled the watch set; the set catches up on the pass that index event triggers. Tests that asserted the set right after the snapshot raced that pass. The debug hook now signals each published set, and the tests wait on it.
Windows PowerShell 5.1 can take over 20 s to print its first line when the runner starts it cold under the parallel suite, which failed read_until's 20 s timeout. read_until now waits for the next event; an early exit still fails the test. The residue grace is measured from the first output, so a slow start no longer counts against it.
run_git_watch opened every subscription with an empty snapshot and only delivered repository state as a later Reset. One-shot `yas git status` printed that empty snapshot, so it always said clean. The first native snapshot now is the initial snapshot.
A PATCH_TEXT answer needs a content object and neither INDEX nor WORKTREE names one, so `yas git diff -p` failed with Unsupported. Use the null object ID for patches between two mutable endpoints.
`yas git show REV` sent a BLOB query for the commit and failed with Invalid. It now prints the commit in `git cat-file commit` layout (from the LOG record), and lists a directory for REV:DIR and REV:. --repo and `git discover PATH` were sent verbatim, so relative paths (including the default `.`) resolved against the server's cwd. They now resolve against the client's cwd, like fs and lsp --root.
The server family pairs a native LOCATION with the MARKUP that follows it into one HoverRecord, but translate::hover pushed the markup first, so every hover failed with "LSP markup has no target location" (surfaced as Internal: no detail). Push the location first, as one group, and fall back to the empty range at the queried position when the language server reports no range.
run_lsp_watch sent a buffer-only initial snapshot and delivered the engine's retained diagnostics only as a later Reset, so one-shot `yas lsp diagnostics` always printed nothing and exited 0. The initial snapshot of a diagnostics subscription now waits for the engine's first diagnostics replay. --wait now waits for indexing, then for the next published diagnostics, ending after 5 seconds without any server update so a clean workspace still returns. Help: lsp --root is relative to the client's cwd, not the server's; learn.md names the actual `Busy: Warming` error.
enumerate_paths walked with hidden(false), which keeps dotfiles as the design wants but also descended into .git, so grep and find searched repository metadata. .git is now pruned like an ignored directory, and with ignored paths included it is walked and marked ignored (docs/design/fs-grep.md). GREP's default per-file cap was the page record limit and counted from the first match, so a file with more matches than one page could hold lost the rest even though the cursor resumed inside it. Zero now caps nothing. `yas fs grep -m N` sent N as the page record limit and kept paging, so it never limited anything, -m 1 failed with Invalid, and small pages hit the dropped-match bug above. It now uses the default page size and stops after N matching files; a file split across pages counts and prints once, and multi-page searches no longer warn that results were truncated.
--no-ignore results are in path order, not ranked after tracked files; fs sync PATH resolves against the client's cwd; -m 0 means no limit. learn.md used `fs mkdir -p` and `fs rm -r`, which do not exist; they are `--parents` and plain `rm`.
1da42f4 to
1795981
Compare
There was a problem hiding this comment.
Ultimator's review of 1795981
This round is a re-stack. The top commit, "cli: correct fs help and learn.md", has the same text as 1da42f4 (cli.rs help, learn.md), and I found no new issues in it. The only change since is in a stacked commit under it, which is out of scope here: debug_wait_worktree_watches (crates/git/src/state.rs) lost its 5 s timeout, so a watch set that never publishes hangs the git engine test instead of failing it. CI for 1795981 has not reported yet.
No issues found.
Reviewed in 15s · Session · @ultimator-ai review reviews again · @ultimator-ai fix fixes the open issues
Stacked on #47. Review only the top commit, "cli: correct fs help and learn.md".
This fixes help text and
learn.md:--no-ignorehelp now says results stay in path order.fs sync PATHhelp now says the path is relative to the client's cwd.learn.mdused flags that don't exist:fs mkdir -pis nowfs mkdir --parents, andfs rm -ris nowfs rm.Fork PR with the isolated diff: indent-com#30.
Tag
@indentto continue the conversation here.