3

If i run M-x package-list-packages, it will list all packages with description like this.

enter image description here

If i run M-x package-install, it shows only package names like this.

enter image description here

How can i get package description along with package name?

  • 2
    You can 1) search package name within Package Menu; 2) if you have helm, try M-x helm-list-elisp-packages; 3) Write your own package-install-like command, learn package-install to find all possible package names, learn describe-package or others to find how to get package's description (summary), then use package-install to install package. You can use helm to write the UI. – xuchunyang Sep 11 '15 at 17:32
3

If you have helm installed, you can use this function.

(defun my-package-install-init ()
 (let ((packages (append (mapcar 'car package-alist)
                         (mapcar 'car package-archive-contents)
                         (mapcar 'car package--builtins))))
   (mapcar (lambda (pkg)
             (let* ((desc (or
                           (if (package-desc-p pkg) pkg)
                           (cadr (assq pkg package-alist))
                           (let ((built-in (assq pkg package--builtins)))
                             (if built-in
                                 (package--from-builtin built-in)
                               (cadr (assq pkg package-archive-contents))))))
                    (summary (if desc (package-desc-summary desc) "")))
               (cons (format "%-24s %s" pkg summary) (symbol-name pkg))))
           packages)))

(defun my-package-install ()
 (interactive)
 (package-install
  (helm
   :sources
   (helm-build-sync-source "Install Package"
     :candidates #'my-package-install-init
     :candidate-number-limit 9999
      :coerce #'intern))))

Here is a screen shot of it.

enter image description here

  • helm-list-elisp-packages also does the job, but it is not showing all packages. – ChillarAnand Sep 11 '15 at 18:20
  • I don't think so, helm-list-elisp-packages just uses the result of package-list-package, unless your package-list-packages can't show all packages. – xuchunyang Sep 11 '15 at 18:24
  • 1
    for packge-list-packages i am getting more than 20 packages which start with helm-*, but for helm-list-elisp-packages, i am getting only 5 packages cloud.githubusercontent.com/assets/4463796/9823100/… – ChillarAnand Sep 11 '15 at 18:35
  • 1
    @ChillarAnand Same thing here. I can't find the documentation, but looking at the sources, it appears that if there are updateable packages in your system, helm-list-elisp-packages automatically switches to update mode on startup (meaning it only shows you packages which you can update). Try pressing M-A to switch to the unfiltered list. – ffevotte Sep 11 '15 at 19:18
  • @ChillarAnand It is desired behavior and also documented, use C-h m to read its doc. I didn't know this new behavior before. – xuchunyang Sep 11 '15 at 20:12
2

As suggested in the comments by @xuchunyang, you can try helm-list-elisp-packages.

Please note that you might at first be confused: if your system is not fully up-to-date, helm-list-elisp-packages will open with a filtered view showing only upgradeable packages (and this bypasses the documented behaviour that the initial filter is determined by helm-el-package-initial-filter).

You can press M-A to switch to the unfiltered view. (And, as always, press C-hm to see the mode help explaining other key bindings).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.