Function: ibuffer-make-column-filename-and-process+

ibuffer-make-column-filename-and-process+ is a natively compiled function defined in nerd-icons-ibuffer.el.

Signature

(ibuffer-make-column-filename-and-process+ BUFFER MARK)

Source Code

;; Defined in /nix/store/ak43hmgddynw3xxp0dnf5nkc3pp5yrbr-emacs-packages-deps/share/emacs/site-lisp/elpa/nerd-icons-ibuffer-20251022.42/nerd-icons-ibuffer.el
(define-ibuffer-column filename-and-process+
  (:name "Filename/Process"
   :props ('font-lock-face 'nerd-icons-ibuffer-file-face)
   :header-mouse-map ibuffer-filename/process-header-map
   :summarizer
   (lambda (strings)
     (setq strings (delete "" strings))
     (let ((procs 0)
	       (files 0))
       (dolist (string strings)
         (when (get-text-property 1 'ibuffer-process string)
           (setq procs (1+ procs)))
	     (setq files (1+ files)))
       (concat (cond ((zerop files) "No files")
                             ((= 1 files) "1 file")
                             (t (format "%d files" files)))
                   ", "
                   (cond ((zerop procs) "no processes")
                             ((= 1 procs) "1 process")
                             (t (format "%d processes" procs)))))))
  (let ((proc (get-buffer-process buffer))
	    (filename (ibuffer-make-column-filename buffer mark)))
    (if proc
	    (concat (propertize (format "(%s %s)" proc (process-status proc))
                                        'font-lock-face 'italic
                            'ibuffer-process proc)
                        (if (> (length filename) 0)
                            (format " %s" filename)
                          ""))
      filename)))