Function: package-menu-filter-by-keyword
package-menu-filter-by-keyword is an interactive and byte-compiled
function defined in package.el.gz.
Signature
(package-menu-filter-by-keyword KEYWORD)
Documentation
Filter the "*Packages*" buffer by KEYWORD.
Display only packages with specified KEYWORD.
When called interactively, prompt for KEYWORD, which can be a comma-separated string. If KEYWORD is empty, show all packages.
When called from Lisp, KEYWORD can be a string or a list of strings. If KEYWORD is nil or the empty string, show all packages.
Probably introduced at or before Emacs version 27.1.
Key Bindings
Aliases
package-menu-filter (obsolete since 27.1)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/package.el.gz
(defun package-menu-filter-by-keyword (keyword)
"Filter the \"*Packages*\" buffer by KEYWORD.
Display only packages with specified KEYWORD.
When called interactively, prompt for KEYWORD, which can be a
comma-separated string. If KEYWORD is empty, show all packages.
When called from Lisp, KEYWORD can be a string or a list of
strings. If KEYWORD is nil or the empty string, show all
packages."
(interactive (list (completing-read-multiple
"Keywords (comma separated): "
(package-all-keywords)))
package-menu-mode)
(package--ensure-package-menu-mode)
(when (stringp keyword)
(setq keyword (list keyword)))
(if (not keyword)
(package-menu--generate t t)
(package-menu--filter-by (lambda (pkg-desc)
(package--has-keyword-p pkg-desc keyword))
(concat "keyword:" (string-join keyword ",")))))