Function: eca-rewrite--send

eca-rewrite--send is a natively compiled function defined in eca-rewrite.el.

Signature

(eca-rewrite--send SESSION TEXT PATH START END PROMPT)

Documentation

Send rewrite request for SESSION and TEXT with PROMPT.

Creating overlay at START to END. PATH is the optional file path.

Source Code

;; Defined in /nix/store/jklqzw6pzz6j4jrbv8wy0iwgi7jlrbld-emacs-packages-deps/share/emacs/site-lisp/elpa/eca-20260928.1827/eca-rewrite.el
(defun eca-rewrite--send (session text path start end prompt)
  "Send rewrite request for SESSION and TEXT with PROMPT.
Creating overlay at START to END.
PATH is the optional file path."
  (let ((start-line (line-number-at-pos start))
        (end-line (line-number-at-pos end))
        (start-char (save-excursion
                      (goto-char start)
                      (current-column)))
        (end-char (save-excursion
                    (goto-char end)
                    (current-column)))
        (id (number-to-string (random 100000000)))
        (remote-path (when path (eca--path-local-to-remote path))))
    (eca-api-request-async
     session
     :method "rewrite/prompt"
     :params (list :id id
                   :text text
                   :prompt prompt
                   :path remote-path
                   :range (list :start (list :line start-line :character start-char)
                                :end (list :line end-line :character end-char)))
     :success-callback
     (lambda (res)
       (eca-info "Rewriting...")
       (setq eca-rewrite--id->buffer (eca-assoc eca-rewrite--id->buffer id (current-buffer)))
       (eca-rewrite--setup-overlay id start end text path prompt (plist-get res :model)))
     :error-callback
     (lambda (err)
       (eca-error "Rewrite error: %s" (plist-get err :message))))))