summaryrefslogtreecommitdiff
path: root/helm-elisp-package.el
diff options
context:
space:
mode:
authorThierry Volpiatto <thierry.volpiatto@gmail.com>2016-07-24 06:27:01 +0200
committerThierry Volpiatto <thierry.volpiatto@gmail.com>2016-07-24 07:32:17 +0200
commit4a02e431e7eaa9852b13c88129500fbccdfb0463 (patch)
treedbef96afa10a4976d7f962655c20a2e5ecf045a6 /helm-elisp-package.el
parent0fdb529b1faa2f5ee306dcd2673a78c9d1c29855 (diff)
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.
Diffstat (limited to 'helm-elisp-package.el')
-rw-r--r--helm-elisp-package.el21
1 files changed, 18 insertions, 3 deletions
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)