fix: query-terminal stream, enable-mouse/bracketed-paste methods, simple-backend draw-ellipsis position

This commit is contained in:
Hermes Agent
2026-05-12 13:53:38 +00:00
parent e198e8b5da
commit 80abb23197
3 changed files with 18 additions and 5 deletions

View File

@@ -28,13 +28,13 @@ Returns T if stdout is interactive, nil otherwise."
(defun query-terminal (query &optional (timeout 0.1))
"Send QUERY string to terminal and return any response received within
TIMEOUT seconds. Returns the response string, or nil if no response."
(write-string query *query-io*)
(force-output *query-io*)
(write-string query *standard-output*)
(force-output *standard-output*)
(sleep timeout)
(let ((response (make-array 0 :element-type 'character
:fill-pointer 0 :adjustable t)))
(loop while (listen *query-io*)
do (vector-push-extend (read-char-no-hang *query-io*) response))
(loop while (listen *standard-input*)
do (vector-push-extend (read-char-no-hang *standard-input*) response))
(when (plusp (length response))
response)))