aboutsummaryrefslogtreecommitdiff
path: root/modules/ai-term-display.el
Commit message (Collapse)AuthorAgeFilesLines
* docs(ai-term): match reuse-edge docstring to delete-window realityCraig Jennings6 days1-4/+7
| | | | The docstring promised toggle-off puts the displaced buffer back via quit-restore-window. Toggle-off deliberately deletes the window instead: the slot's quit-restore parameter goes stale when several agents share it. That staleness is the "F9 shows another agent" bug the delete-window design killed.
* refactor(ai-term): split into sessions, display, and EAT-backend layersCraig Jennings2026-07-011-0/+460
ai-term.el had grown to ~1,215 lines mixing project/tmux session discovery, window display policy, the EAT terminal backend, and the public commands, so a change to any one risked coupling to the others. I extracted three layers, following the calendar-sync split shape: ai-term-sessions.el (discovery, tmux naming and parsing, launch command, picker ordering), ai-term-display.el (display-buffer actions and rule, toggle state, server-window routing), and ai-term-backend-eat.el (terminal create/reattach, pty send, EAT keymap). The backend file is named for its backend so a future one lands as a sibling. ai-term.el stays the public face (options, commands, keymap, shutdown), every name unchanged, so existing (require 'ai-term) callers and all 30 test files work as before. The extracted layers forward-declare the face's defcustoms rather than requiring it, keeping the graph acyclic. I dropped the unused cl-lib and host-environment requires and added the three modules to the header-contract list.