Function: claude-code-ide-mcp--track-selection
claude-code-ide-mcp--track-selection is a natively compiled function
defined in claude-code-ide-mcp.el.
Signature
(claude-code-ide-mcp--track-selection)
Documentation
Track selection changes and notify Claude for the current buffer's project.
Source Code
;; Defined in /nix/store/yjvbhwl7p6zrbw9xlnni7y4hra8sa3pl-emacs-packages-deps/share/emacs/site-lisp/claude-code-ide-mcp.el
;;; Selection and Buffer Tracking
(defun claude-code-ide-mcp--track-selection ()
"Track selection changes and notify Claude for the current buffer's project."
;; Early exit for non-file buffers
(when (buffer-file-name)
(when-let* ((project-dir (claude-code-ide-mcp--get-buffer-project)))
;; Only proceed if the project has sessions
(when (claude-code-ide-mcp--sessions-for-project project-dir)
;; One debounce timer per project; when it fires the selection is
;; fanned out to every session of the project.
(when-let* ((timer (gethash project-dir claude-code-ide-mcp--selection-timers)))
(cancel-timer timer))
(let ((current-buffer (current-buffer)))
(puthash project-dir
(run-with-timer claude-code-ide-mcp-selection-delay nil
(lambda ()
;; Make sure we're in the right buffer context when timer fires
(when (buffer-live-p current-buffer)
(with-current-buffer current-buffer
(claude-code-ide-mcp--send-selection-for-project project-dir)))))
claude-code-ide-mcp--selection-timers))))))