Function: eca-chat--track-cursor
eca-chat--track-cursor is a natively compiled function defined in
eca-chat-context.el.
Signature
(eca-chat--track-cursor &rest ARGS)
Documentation
Change chat context considering current open file and point.
Source Code
;; Defined in /nix/store/jklqzw6pzz6j4jrbv8wy0iwgi7jlrbld-emacs-packages-deps/share/emacs/site-lisp/elpa/eca-20260928.1827/eca-chat-context.el
(defun eca-chat--track-cursor (&rest _args)
"Change chat context considering current open file and point."
(when-let* ((buffer (eca-chat--get-last-visited-buffer))
(path (buffer-file-name buffer))
(session (eca-chat--session-for-path path)))
(with-current-buffer buffer
(when-let (chat-buffer (eca-chat--get-last-buffer session))
(when (buffer-live-p chat-buffer)
(-let* (((start . end) (eca-chat--cur-position))
((start-line . start-character) start)
((end-line . end-character) end))
(eca-chat--with-current-buffer chat-buffer
(let ((new-context (list :path path
:position (list :start (list :line start-line :character start-character)
:end (list :line end-line :character end-character)))))
(when (not (eca-plist-equal eca-chat--cursor-context new-context))
(setq eca-chat--cursor-context new-context)
(eca-chat--refresh-context))))))))))