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 ",")))))