aboutsummaryrefslogtreecommitdiff
path: root/tests/test-prog-python-setup.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-07-01 22:42:38 -0400
committerCraig Jennings <c@cjennings.net>2026-07-01 22:42:38 -0400
commitcf6dfae6ad311991ce0914370c04e60c284874b2 (patch)
treea501fc585bde2a2e0f419d80f7d369281cf5a7e5 /tests/test-prog-python-setup.el
parente18cf02e22049ad3cc4ce96059edc37a5ecb6719 (diff)
downloaddotemacs-cf6dfae6ad311991ce0914370c04e60c284874b2.tar.gz
dotemacs-cf6dfae6ad311991ce0914370c04e60c284874b2.zip
refactor(ai-term): split into sessions, display, and EAT-backend layers
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.
Diffstat (limited to 'tests/test-prog-python-setup.el')
0 files changed, 0 insertions, 0 deletions