From 4a02e431e7eaa9852b13c88129500fbccdfb0463 Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Sun, 24 Jul 2016 06:27:01 +0200 Subject: Allow filtering built-in packages. * helm-elisp-package.el (helm-el-package--transformer): Filter out build-in. (helm-el-package-show-built-in): New. (helm-el-package-map): Bind it. --- helm-elisp-package.el | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'helm-elisp-package.el') diff --git a/helm-elisp-package.el b/helm-elisp-package.el index 059c05e1..0dddc8af 100644 --- a/helm-elisp-package.el +++ b/helm-elisp-package.el @@ -256,7 +256,11 @@ for name = (if (fboundp 'package-desc-name) (and id (package-desc-name id)) (car id)) - for installed-p = (assq name package-alist) + for desc = (package-desc-status id) + for built-in-p = (and (package-built-in-p name) + (not (member desc '("available" "new" + "installed" "dependency")))) + for installed-p = (member desc '("installed" "dependency")) for upgrade-p = (assq name helm-el-package--upgrades) for user-installed-p = (and (boundp 'package-selected-packages) (memq name package-selected-packages)) @@ -267,15 +271,25 @@ 2 (+ (length (symbol-name name)) 2) 'face 'font-lock-variable-name-face c)) for cand = (cons c (car (split-string c))) - when (or (and upgrade-p + when (or (and built-in-p + (eq helm-el-package--show-only 'built-in)) + (and upgrade-p (eq helm-el-package--show-only 'upgrade)) (and installed-p (eq helm-el-package--show-only 'installed)) (and (not installed-p) - (eq helm-el-package--show-only 'uninstalled)) + (not built-in-p) + (eq helm-el-package--show-only 'uninstalled)) (eq helm-el-package--show-only 'all)) collect cand)) +(defun helm-el-package-show-built-in () + (interactive) + (with-helm-alive-p + (setq helm-el-package--show-only 'built-in) + (helm-update))) +(put 'helm-el-package-show-built-in 'helm-only t) + (defun helm-el-package-show-upgrade () (interactive) (with-helm-alive-p @@ -310,6 +324,7 @@ (define-key map (kbd "M-I") 'helm-el-package-show-installed) (define-key map (kbd "M-O") 'helm-el-package-show-uninstalled) (define-key map (kbd "M-U") 'helm-el-package-show-upgrade) + (define-key map (kbd "M-B") 'helm-el-package-show-built-in) (define-key map (kbd "M-A") 'helm-el-package-show-all) (define-key map (kbd "C-c i") 'helm-el-run-package-install) (define-key map (kbd "C-c r") 'helm-el-run-package-reinstall) -- cgit v1.2.3