73 Commits
Author SHA1 Message Date
Alice T'Poteat c94815511c diff: the focus hook answers to either name the engine stamps on its elements (#96953) 2026-09-25 18:42:18 +00:00
poteat 32251d1aa7 diff: the shared diff arguments' doc says what --no-color pins 2026-09-24 11:16:25 -07:00
7487 453620980b fix(diff): preserve hunks when Git forces colored output 2026-09-24 11:16:25 -07:00
Alice T'Poteat 6c6915eb63 diff: a shell command the tool held read-only fetches nothing, as the built-in panel's touch is gated (#95423) 2026-09-24 17:22:20 +00:00
Alice T'Poteat 384e28e6c3 diff: the command.run hook names its command by the literal the engine's scan reads (#96570) 2026-09-24 10:22:12 -07:00
Alice T'Poteat 7974a70773 diff: a resumed session with edits opens the pane before any new edit, /clear leaves it up, and the session line follows the engine's start (#95587) 2026-09-20 01:03:16 -07:00
Alice T'Poteat 92ec78f288 diff: a docked pane reads the repository before it opens, so it never lands on Loading diff (#95488) 2026-09-18 20:39:54 -04:00
Alice T'Poteat 2287e5d473 diff: the first edit opens the pane only from the main loop with checkpointing on, and an open the engine leaves waiting is withdrawn (#95476) 2026-09-18 16:12:15 -07:00
Alice T'Poteat 6ce37e9f46 mods/diff: type openPane's answer as unknown so a richer $.ui.open result compiles (#95198) 2026-09-18 19:28:00 +00:00
Alice T'Poteat a92ea1cdb1 mods/agents-md: the AGENTS.md project-instructions mod (#95409)
* mods/types: refresh the engine typings; diff's old-files fixture names isLink

* mods/agents-md: the AGENTS.md project-instructions mod

* mods/agents-md: the instructionFiles option with its legacy key, as shipped; typings at 2.1.277
2026-09-18 17:35:47 +00:00
Alice T'Poteat 744fb6ab02 diff: the prompt hint reads the viewport's layout through a type that may lack it (#94843) 2026-09-16 11:45:36 -07:00
Alice T'Poteat b782847db9 diff: the first edit opens the pane only where the layout docks it (#94653)
* mods: the declarations are 2.1.273's, which add the vscode surface, plus a render viewport's layout

* diff: the first edit opens the pane only where the layout docks it beside the transcript
2026-09-15 21:36:03 -07:00
Alice T'Poteat 7dd0636111 diff: run git when the built-in panel would, never at the session's start (#94594)
* diff: the session's start asks nothing of the repository; /diff or the first edit pins it when it comes

* diff: git runs when the built-in panel's would: one rev-parse at first need, the tree walked only for an open pane, nothing after a turn or a refused tool

* diff: a shell command that failed or was cut short still refreshes an open pane, an edit that did opens nothing, and a probe /clear overtook pins nothing
2026-09-15 14:08:25 -07:00
poteat 7d4f9471af diff: the docked window's hunks are made printable and split under a leaf's cap, draw only their lines in view, and stop at the tree's budget 2026-09-13 19:55:39 -07:00
poteat 9d302a84de Merge remote-tracking branch 'origin/main' into poteat/diff-parity-2
# Conflicts:
#	mods/diff/hooks/register.ts
#	mods/diff/hooks/views/detail/code-blocks-of/code-blocks-of.ts
#	mods/diff/tests/fixtures/git-in.ts
#	mods/diff/tests/fixtures/in-repository.ts
#	mods/diff/tests/fixtures/index.ts
#	mods/telemetry/tests/fixtures/index.ts
2026-09-13 19:55:26 -07:00
Alice T'Poteat 18be13be81 mods: the diff, sec-default and telemetry tests move next to the mods (#93951)
Squash merge of 4 commits
2026-09-13 18:50:58 -07:00
poteat 0fdc7b2f17 diff tests: the walk stops at the last file 2026-09-13 16:39:02 -07:00
poteat 17db2e1954 diff: the dialog's walk stops at the first and last file as the built-in's does, where the ring would wrap 2026-09-13 16:39:00 -07:00
poteat 78c94cecbd diff: the rows' widths and reserves live under limits, sparing six of the files a hooks module may link 2026-09-13 16:29:36 -07:00
poteat 01e6ae421f diff tests and README: the walk selects and the window follows 2026-09-13 16:27:06 -07:00
poteat df235907a9 diff: the dialog's selected row starts the focus ring (autoFocus) and the ring's walk selects, the five rows re-centring on it as the built-in's do (ui.focus) 2026-09-13 16:27:05 -07:00
poteat 65bf3fe990 diff tests and README: the wheel over the list, the dialog's rows 2026-09-13 14:03:41 -07:00
poteat 4025de58b1 diff: the wheel over a list longer than its window moves the list (ui.scroll's pointer), and the dialog opens as tall as its content (ui.open's rows) 2026-09-13 14:03:40 -07:00
poteat 06f4b2a7f3 diff README: pinned header, list keys, base chord and the inline dialog 2026-09-13 12:07:26 -07:00
poteat f305b6cea0 diff tests: the wheel moves the body not the list, the list keys move its window, and off fullscreen /diff opens the dialog, lists five files a page and shows one alone 2026-09-13 12:07:26 -07:00
poteat 325256e17b diff: the header and list stay pinned while the hunks scroll beneath them three rows a tick (the pane answers ui.scroll itself), the list keys and ctrl+x b press Buttons that declare the built-in's actions, rows rest grey, toasts are held, and without the fullscreen layout /diff opens the built-in dialog's shape inline, focused, at any width 2026-09-13 12:07:25 -07:00
poteat 6434626b17 mods: the declarations carry command.run's presentation, a Button's action and dimColor, a pane's closeOnEscape and holdToasts, and ui.scroll's by and contentRows; the command fixtures name their presentation 2026-09-13 11:31:52 -07:00
poteat 473834136e mods/diff: the base picker's labels lose their format characters like every other name drawn 2026-09-12 23:47:55 -07:00
poteat 3c94149d2b mods/diff: a backend's deps may leave the start's dirty paths out 2026-09-12 23:38:16 -07:00
poteat ddb122f0b8 mods/diff: the closing empty row is the git backend's to add after parsing, so hunks parsed for another backend stay as printed 2026-09-12 23:29:23 -07:00
poteat 778a2eb5e9 mods/diff: tests for the docked and inline layouts, the rename row, the moved-in file and /diff's answers 2026-09-12 23:27:29 -07:00
poteat 38dc1e4b69 mods/diff: the docked pane draws as the built-in panel does (every file's hunks under an eight-row list, rows that scroll to their file, no focus or close mark of its own, /diff's transcript line) and the inline pane as its dialog 2026-09-12 23:27:28 -07:00
poteat 883b12cc19 mods/diff: renames list as git prints them with no body, a file that turned up since the start is session work, and each file but the diff's last keeps git's closing line 2026-09-12 23:27:22 -07:00
poteat 3668b47c37 mods: a blank line between const runs and let runs 2026-09-12 19:36:21 -07:00
poteat bf4322ffe2 mods: tests settle a started dispatch with clock.settle() 2026-09-12 12:52:24 -07:00
poteat b95b0150f8 mods: a noun's types live in its own types folder and dependents read them from there 2026-09-12 11:57:54 -07:00
poteat 748e0c4a44 mods: blank lines between statement kinds and around multi-line statements 2026-09-12 11:52:24 -07:00
poteat ee2315b0fa mods: the declarations carry ui.scroll, a site's view, hover scopes and userConfig options, and the pane fixture names its view 2026-09-12 11:51:26 -07:00
poteat f56a625702 mods: the kit's helpers are mock.clock, mock.store and mock.env, MemoryClock is MockClock, and a rendered tree's text is the diff tests' own fixture; the declarations carry 'claude-code/testing' as generated from the kit's source 2026-09-11 17:56:28 -07:00
poteat ead8806353 mods: merge poteat/diff-parity; a mark's props, hyphened Choice members and the built-in panel's marks at its call sites, in the tested and linted layout 2026-09-11 16:55:13 -07:00
poteat 59bb8853c1 mods: each test file is named for the hooks/ subject it covers and holds one describe, shared inputs under tests/fixtures; memoryClock answers $.clock beneath the mod, and the diff pane's close button is pressed through $.ui.press 2026-09-11 15:34:57 -07:00
poteat f43a16bb7b mods: $.clock's now, sleep, after and every are events beneath the mod, now() resolving a promise; the declarations and the diff host follow 2026-09-11 15:34:55 -07:00
poteat 936b92907c mods: tests sit in one describe each, diff's shared inputs in a fixtures folder, every decision and duplicate named 2026-09-11 10:49:36 -07:00
poteat 97f86b94e8 mods/diff: a helper takes the whole shape its callers hold, and the pane's inset kit has a constructor 2026-09-11 10:46:48 -07:00
poteat 46ea2a528d mods/diff: each decision a hook makes names its test, and a value used once is written where it is used 2026-09-11 10:45:12 -07:00
poteat a9d339b13a mods/diff: each helper sits in a folder of its own, named for what it exports, and barrels list their folders in order 2026-09-11 10:41:47 -07:00
poteat 652580d35f mods: hook JSDoc is a two-line summary and one short paragraph, naming no file path 2026-09-11 10:40:43 -07:00
poteat 4d63891b4f mods/diff: three hook files are formatted as the rest are 2026-09-11 10:38:32 -07:00
poteat ee5d2e5994 mods: tests name their tier with tier(), and /diff's two answers and the tests on them use an ASCII apostrophe 2026-09-11 10:08:32 -07:00
poteat a5b0e0c198 mods: tests and the README quote in ASCII only 2026-09-11 09:49:22 -07:00