Function: claude-code-ide--session-status

claude-code-ide--session-status is a natively compiled function defined in claude-code-ide-transient.el.

Signature

(claude-code-ide--session-status)

Documentation

Return a string describing the current project's instances.

Source Code

;; Defined in /nix/store/yjvbhwl7p6zrbw9xlnni7y4hra8sa3pl-emacs-packages-deps/share/emacs/site-lisp/claude-code-ide-transient.el
(defun claude-code-ide--session-status ()
  "Return a string describing the current project's instances."
  (let* ((project-dir (claude-code-ide--get-working-directory))
         (sessions (claude-code-ide-mcp--sessions-for-project project-dir))
         (all-count (length (claude-code-ide-mcp--active-sessions))))
    (cond
     (sessions
      (let* ((project-name (file-name-nondirectory (directory-file-name project-dir)))
             (connected (cl-count-if #'claude-code-ide-mcp-session-client sessions))
             (header (propertize (format "%s — %d instance%s (%d connected)"
                                         project-name
                                         (length sessions)
                                         (if (cdr sessions) "s" "")
                                         connected)
                                 'face 'success))
             (shown (cl-subseq sessions 0 (min 4 (length sessions))))
             (lines (mapcar
                     (lambda (session)
                       (let ((line (format "  %-20s port %-6s %s%s"
                                           (claude-code-ide--session-display-name session)
                                           (or (claude-code-ide-mcp-session-port session) "?")
                                           (if (claude-code-ide-mcp-session-client session)
                                               "connected" "disconnected")
                                           (if (claude-code-ide--session-visible-p session)
                                               "  visible" ""))))
                         (if (claude-code-ide-mcp-session-client session)
                             line
                           (propertize line 'face 'transient-inactive-value))))
                     shown)))
        (when (> (length sessions) (length shown))
          (setq lines (append lines
                              (list (propertize
                                     (format "  …and %d more" (- (length sessions) (length shown)))
                                     'face 'transient-inactive-value)))))
        (mapconcat #'identity (cons header lines) "\n")))
     ((> all-count 0)
      (propertize (format "No session in this project (%d running elsewhere)" all-count)
                  'face 'transient-inactive-value))
     (t
      (propertize "No active sessions" 'face 'transient-inactive-value)))))