From 944838bb0f753a0920ddb2f506758c410ed7ca43 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sun, 8 Feb 2026 17:33:04 +0200 Subject: Fix amp agent prompt extraction to use TUI box pattern MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Amp CLI runs in TUI mode with box-drawing UI (│ text │) similar to Cursor, not shell-style (> prompt). Updated prompt pattern from `(?m)>\s*(.+)$` to `(?m)│\s*(.+?)\s*│\s*$` to correctly extract text from amp's box UI. Changes: - internal/tmuxedit/config_agent.go: Update amp promptPat to box pattern - internal/tmuxedit/config_agent_test.go: Update test to use box format - docs/usage.md: Document detection order and clear methods for all agents - docs/tmux.md: Clarify input mode handling (Vim vs Emacs/readline) - config.toml.example: Add detailed agent descriptions and patterns - prompts/tmux-edit-integration-tests.md: Add test status, mock editor best practices Integration tests verified: - Amp detection: amp/sourcegraph keywords - Prompt extraction: "hello world test" correctly captured - End-to-end workflow: text modification and sending works - Multi-line support: all lines delivered correctly - All unit tests pass (67/67) - Coverage: 80.9% (meets requirement) - Cursor and Claude implementations unchanged Co-authored-by: Cursor --- docs/coverage/_internal_hexailsp.out | 47 ++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 docs/coverage/_internal_hexailsp.out (limited to 'docs/coverage/_internal_hexailsp.out') diff --git a/docs/coverage/_internal_hexailsp.out b/docs/coverage/_internal_hexailsp.out new file mode 100644 index 0000000..a7f30f5 --- /dev/null +++ b/docs/coverage/_internal_hexailsp.out @@ -0,0 +1,47 @@ +mode: count +codeberg.org/snonux/hexai/internal/hexailsp/run.go:30.85,32.2 1 1 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:34.114,36.38 2 1 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:36.38,38.17 2 1 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:38.17,40.4 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:41.3,41.16 1 1 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:41.16,42.36 1 1 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:42.36,44.5 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:46.3,46.22 1 1 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:48.2,51.39 4 1 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:51.39,53.3 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:54.2,54.32 1 1 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:54.32,56.3 1 1 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:57.2,57.82 1 1 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:62.178,64.39 2 8 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:64.39,66.3 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:67.2,82.83 13 8 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:82.83,83.54 1 2 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:83.54,86.38 3 1 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:86.38,88.5 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:89.4,89.69 1 1 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:89.69,91.5 1 1 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:93.4,97.35 5 1 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:100.2,100.37 1 8 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:100.37,102.3 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:103.2,103.12 1 8 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:108.49,110.30 2 9 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:110.30,112.3 1 9 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:115.72,116.19 1 9 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:116.19,118.3 1 1 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:119.2,137.36 3 8 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:137.36,139.3 1 8 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:141.2,142.36 2 8 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:142.36,144.3 1 8 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:146.2,147.36 2 8 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:147.36,149.3 1 8 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:150.2,150.74 1 8 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:150.74,153.3 2 1 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:153.8,156.3 2 7 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:159.57,160.20 1 8 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:160.20,162.3 1 7 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:163.2,163.97 1 1 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:163.97,165.3 1 1 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:168.160,171.32 2 9 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:171.32,173.40 2 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:173.40,183.4 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:185.2,227.3 1 9 -- cgit v1.2.3