Function: consult--mode-command-candidates
consult--mode-command-candidates is a byte-compiled function defined
in consult.el.
Signature
(consult--mode-command-candidates MODES)
Documentation
Extract commands from MODES.
The list of features is searched for files belonging to the modes. From these files, the commands are extracted.
Source Code
;; Defined in ~/.emacs.d/elpa/consult-20260805.1130/consult.el
(defun consult--mode-command-candidates (modes)
"Extract commands from MODES.
The list of features is searched for files belonging to the modes.
From these files, the commands are extracted."
(let* ((case-fold-search)
(buffer (current-buffer))
(command-filter (consult--regexp-filter (seq-filter #'stringp consult-mode-command-filter)))
(feature-filter (seq-filter #'symbolp consult-mode-command-filter))
(minor-hash (consult--string-hash minor-mode-list))
(minor-local-modes (seq-filter (lambda (m)
(and (gethash m minor-hash)
(local-variable-if-set-p m)))
modes))
(minor-global-modes (seq-filter (lambda (m)
(and (gethash m minor-hash)
(not (local-variable-if-set-p m))))
modes))
(major-modes (seq-remove (lambda (m)
(gethash m minor-hash))
modes))
(major-paths-hash (consult--string-hash (mapcar #'symbol-file major-modes)))
(minor-local-paths-hash (consult--string-hash (mapcar #'symbol-file minor-local-modes)))
(minor-global-paths-hash (consult--string-hash (mapcar #'symbol-file minor-global-modes)))
(major-name-regexp (regexp-opt (mapcar #'consult--mode-name major-modes)))
(minor-local-name-regexp (regexp-opt (mapcar #'consult--mode-name minor-local-modes)))
(minor-global-name-regexp (regexp-opt (mapcar #'consult--mode-name minor-global-modes)))
(commands))
(dolist (feature load-history commands)
(when-let* ((name (alist-get 'provide feature)))
(let* ((path (car feature))
(file (file-name-nondirectory path))
(key (cond
((memq name feature-filter) nil)
((or (gethash path major-paths-hash)
(string-match-p major-name-regexp file))
?m)
((or (gethash path minor-local-paths-hash)
(string-match-p minor-local-name-regexp file))
?l)
((or (gethash path minor-global-paths-hash)
(string-match-p minor-global-name-regexp file))
?g))))
(when key
(dolist (cmd (cdr feature))
(let ((sym (cdr-safe cmd)))
(when (and (consp cmd)
(eq (car cmd) 'defun)
(commandp sym)
(not (get sym 'byte-obsolete-info))
(or (not read-extended-command-predicate)
(funcall read-extended-command-predicate sym buffer)))
(let ((name (symbol-name sym)))
(unless (string-match-p command-filter name)
(push (propertize name
'consult--candidate sym
'consult--type key)
commands))))))))))))