emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/helm 4f6119e97a 2/9: Add a class for helm-packages


From: ELPA Syncer
Subject: [nongnu] elpa/helm 4f6119e97a 2/9: Add a class for helm-packages
Date: Sun, 20 Aug 2023 12:59:52 -0400 (EDT)

branch: elpa/helm
commit 4f6119e97a3a88b4e43264d78a0945da11339ae8
Author: Thierry Volpiatto <thievol@posteo.net>
Commit: Thierry Volpiatto <thievol@posteo.net>

    Add a class for helm-packages
---
 helm-packages.el | 41 ++++++++++++++---------------------------
 1 file changed, 14 insertions(+), 27 deletions(-)

diff --git a/helm-packages.el b/helm-packages.el
index 4deab478e0..258f90f0c9 100644
--- a/helm-packages.el
+++ b/helm-packages.el
@@ -185,6 +185,15 @@ Arg PACKAGES is a list of strings."
         (expand-file-name (package-desc-dir pkg))
       package-user-dir)))
 
+(defclass helm-packages-class (helm-source-in-buffer)
+  ((coerce :initform #'helm-symbolify)
+   (find-file-target :initform #'helm-packages-quit-an-find-file)
+   (filtered-candidate-transformer
+    :initform
+    '(helm-packages-transformer
+      (lambda (candidates _source)
+        (sort candidates #'helm-generic-sort-fn))))))
+
 ;;;###autoload
 (defun helm-packages (&optional arg)
   "Helm interface to manage packages.
@@ -200,10 +209,9 @@ packages no more availables."
   (let ((upgrades (package--upgradeable-packages))
         (removables (package--removable-packages)))
     (helm :sources (list
-                    (helm-build-in-buffer-source "Availables for upgrade"
+                    (helm-make-source "Availables for upgrade" 
'helm-packages-class
                       :init (lambda ()
                               (helm-init-candidates-in-buffer 'global 
upgrades))
-                      :find-file-target #'helm-packages-quit-an-find-file
                       :filtered-candidate-transformer
                       (lambda (candidates _source)
                         (cl-loop for c in candidates
@@ -211,13 +219,10 @@ packages no more availables."
                                                 (symbol-name c)
                                                 'face 'font-lock-keyword-face)
                                                c)))
-                      :coerce #'helm-symbolify
                       :action '(("Upgrade package(s)" . 
helm-packages-upgrade)))
-                    (helm-build-in-buffer-source "Packages to delete"
+                    (helm-make-source "Packages to delete" 'helm-packages-class
                       :init (lambda ()
                               (helm-init-candidates-in-buffer 'global 
removables))
-                      :coerce #'helm-symbolify
-                      :find-file-target #'helm-packages-quit-an-find-file
                       :filtered-candidate-transformer
                       (lambda (candidates _source)
                         (cl-loop for c in candidates
@@ -226,23 +231,17 @@ packages no more availables."
                                                 'face 'font-lock-keyword-face)
                                                c)))
                       :action '(("Delete package(s)" . helm-packages-delete)))
-                    (helm-build-in-buffer-source "Installed packages"
+                    (helm-make-source "Installed packages" 'helm-packages-class
                       :init (lambda ()
                               (helm-init-candidates-in-buffer 'global
                                 (mapcar #'car package-alist)))
-                      :coerce #'helm-symbolify
-                      :find-file-target #'helm-packages-quit-an-find-file
-                      :filtered-candidate-transformer
-                      '(helm-packages-transformer
-                        (lambda (candidates _source)
-                          (sort candidates #'helm-generic-sort-fn)))
                       :action '(("Describe package" . helm-packages-describe)
                                 ("Visit homepage" . 
helm-packages-visit-homepage)
                                 ("Reinstall package(s)" . 
helm-packages-package-reinstall)
                                 ("Recompile package(s)" . 
helm-packages-recompile)
                                 ("Uninstall package(s)" . 
helm-packages-uninstall)
                                 ("Isolate package(s)" . 
helm-packages-isolate)))
-                    (helm-build-in-buffer-source "Available external packages"
+                    (helm-make-source "Available external packages" 
'helm-packages-class
                       :data (cl-loop for p in package-archive-contents
                                      for sym = (car p)
                                      for id = (package-get-descriptor sym)
@@ -252,16 +251,10 @@ packages no more availables."
                                                          '("installed" 
"dependency" "source")))
                                                 (and id (assoc sym 
package--builtins)))
                                      nconc (list (car p)))
-                      :coerce #'helm-symbolify
-                      :find-file-target #'helm-packages-quit-an-find-file
-                      :filtered-candidate-transformer
-                      '(helm-packages-transformer
-                        (lambda (candidates _source)
-                          (sort candidates #'helm-generic-sort-fn)))
                       :action '(("Describe package" . helm-packages-describe)
                                 ("Visit homepage" . 
helm-packages-visit-homepage)
                                 ("Install packages(s)" . 
helm-packages-install)))
-                    (helm-build-in-buffer-source "Available built-in packages"
+                    (helm-make-source "Available built-in packages" 
'helm-packages-class
                       :data (cl-loop for p in package--builtins
                                      ;; Show only builtins that are available 
as
                                      ;; well on (m)elpa. Other builtins don't
@@ -269,12 +262,6 @@ packages no more availables."
                                      ;; (sym . [version reqs summary]).
                                      when (package-desc-p 
(package-get-descriptor (car p)))
                                      collect (car p))
-                      :coerce #'helm-symbolify
-                      :find-file-target #'helm-packages-quit-an-find-file
-                      :filtered-candidate-transformer
-                      '(helm-packages-transformer
-                        (lambda (candidates _source)
-                          (sort candidates #'helm-generic-sort-fn)))
                       :action '(("Describe package" . helm-packages-describe)
                                 ("Visit homepage" . 
helm-packages-visit-homepage)
                                 ("Install packages(s)" . 
helm-packages-install))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]