mirror of
https://github.com/l0ng-ai/tty7.git
synced 2026-09-22 08:02:24 +00:00
#778 landed `CloseWindow` first, and the two actions were written to sit in the same slot on every surface, so git flagged the adjacency: the `actions!` row, the `default_bindings` entry, `authored_entry`, `make_binding`, the vocabulary assertion, `CommandKind` and its two `match` arms, and the `on_action` chain. All of those take both sides, each list keeping its established order — `NewWindow` before `CloseWindow`, the way `NewTab` precedes `CloseActiveTab` above them. Two conflicts were more than adjacency: - `Tty7App`'s method block. `new_window` and main's `prepare_window_close` / `close_window` were written over each other; all three are kept, and `on_window_should_close` still calls `prepare_window_close` as #778 left it. - The test tail. Both branches appended a module of the same shape with the same imports, and git spliced them into one. Rebuilt as two whole modules, `new_window_action_tests` then `close_window_action_tests`, each with its own `use` block and its own tests intact. The palette's `application` array needed no resolution: #778 put Close Window beside Quit rather than at the head, so New Window keeps the first slot. Nothing of #778's is dropped — the merge result is a pure addition over main. `secondary-n` is still claimed by nothing else (`CloseWindow` shipped unbound on every platform), `action_context` has no arm for either action while `make_binding` installs both with `None`, and the global `NewWindow` listener in `keymap::init` is still there once, with no global registration of `CloseWindow` to collide with.