about summary refs log tree commit diff stats
path: root/content/post/emacs-package-archive-statistics.md
diff options
context:
space:
mode:
authorAlan Pearce2022-04-30 19:00:04 +0200
committerAlan Pearce2022-04-30 19:00:04 +0200
commita8ad05ee11fd6c6c32dbadad30ed2013b08587ae (patch)
tree32c7c03f3839cde46bbfcfcda491c0448dd6b6b9 /content/post/emacs-package-archive-statistics.md
parent5deeb3893fead388293e16317b8a3e8f178d9e25 (diff)
downloadwebsite-a8ad05ee11fd6c6c32dbadad30ed2013b08587ae.tar.lz
website-a8ad05ee11fd6c6c32dbadad30ed2013b08587ae.tar.zst
website-a8ad05ee11fd6c6c32dbadad30ed2013b08587ae.zip
Migrate syntax highlighting options to zola syntax
Diffstat (limited to 'content/post/emacs-package-archive-statistics.md')
-rw-r--r--content/post/emacs-package-archive-statistics.md20
1 files changed, 10 insertions, 10 deletions
diff --git a/content/post/emacs-package-archive-statistics.md b/content/post/emacs-package-archive-statistics.md index 9a8e8bf..43d0969 100644 --- a/content/post/emacs-package-archive-statistics.md +++ b/content/post/emacs-package-archive-statistics.md
@@ -10,7 +10,7 @@ I use [cask][] for managing the dependencies of my Emacs
10configuration. Whenever I opened my `Cask` file, I wondered if I 10configuration. Whenever I opened my `Cask` file, I wondered if I
11really was using all the sources I had defined: 11really was using all the sources I had defined:
12 12
13```elisp 13```lisp
14(source gnu) 14(source gnu)
15(source marmalade) 15(source marmalade)
16(source melpa) 16(source melpa)
@@ -44,7 +44,7 @@ decided to try to figure out how to generate some usage statistics.
44I found [how to get a list of installed packages][], but that just gives 44I found [how to get a list of installed packages][], but that just gives
45a list: 45a list:
46 46
47```elisp 47```lisp
48(ace-jump-mode ag auto-compile auto-indent-mode autopair ...) 48(ace-jump-mode ag auto-compile auto-indent-mode autopair ...)
49``` 49```
50 50
@@ -52,7 +52,7 @@ I needed to get more information about those packages. I looked at
52where `list-packages` gets that information from. It seems that 52where `list-packages` gets that information from. It seems that
53`package-archive-contents` is a list of cons cells: 53`package-archive-contents` is a list of cons cells:
54 54
55```elisp 55```lisp
56(org-plus-contrib . 56(org-plus-contrib .
57 [(20140714) 57 [(20140714)
58 nil "Outline-based notes management and organizer" tar "org"]) 58 nil "Outline-based notes management and organizer" tar "org"])
@@ -62,7 +62,7 @@ Then created a function to loop over the contents of
62`package-activated-list`, retrieving the corresponding contents of 62`package-activated-list`, retrieving the corresponding contents of
63`package-archive-contents`: 63`package-archive-contents`:
64 64
65```elisp 65```lisp
66(defun package-list-installed () 66(defun package-list-installed ()
67 (loop for pkg in package-activated-list 67 (loop for pkg in package-activated-list
68 collect (assq pkg package-archive-contents))) 68 collect (assq pkg package-archive-contents)))
@@ -74,7 +74,7 @@ There are some helper functions in package.el such as
74needed. I happened to be using a pretest version of Emacs at the time 74needed. I happened to be using a pretest version of Emacs at the time
75and didn't know that it's not in 24.3, so I just made sure it was defined: 75and didn't know that it's not in 24.3, so I just made sure it was defined:
76 76
77```elisp 77```lisp
78(if (not (fboundp #'package-desc-archive)) 78(if (not (fboundp #'package-desc-archive))
79 (defsubst package-desc-archive (desc) 79 (defsubst package-desc-archive (desc)
80 (aref desc (1- (length desc))))) 80 (aref desc (1- (length desc)))))
@@ -89,7 +89,7 @@ To generate a list of statistics, I just needed to loop over the
89installed packages from `package-list-installed` and update a count 89installed packages from `package-list-installed` and update a count
90for each archive: 90for each archive:
91 91
92```elisp 92```lisp
93(defun package-archive-stats () 93(defun package-archive-stats ()
94 (let ((archives (makehash)) 94 (let ((archives (makehash))
95 (assoc '())) 95 (assoc '()))
@@ -105,7 +105,7 @@ for each archive:
105 105
106Running this gives a list of cons cells: 106Running this gives a list of cons cells:
107 107
108```elisp 108```lisp
109(("gnu" . 0) 109(("gnu" . 0)
110 ("org" . 1) 110 ("org" . 1)
111 ("melpa-stable" . 2) 111 ("melpa-stable" . 2)
@@ -116,7 +116,7 @@ Running this gives a list of cons cells:
116I wrapped it in an interactive function so that I could check the 116I wrapped it in an interactive function so that I could check the
117numbers quickly: 117numbers quickly:
118 118
119```elisp 119```lisp
120(defun package-show-archive-stats () 120(defun package-show-archive-stats ()
121 (interactive) 121 (interactive)
122 (message "%s" (package-archive-stats))) 122 (message "%s" (package-archive-stats)))
@@ -126,7 +126,7 @@ With that, I removed `(source gnu)` from my `Cask` file. Now I had
126another question. What package was installed from [marmalade][]? In 126another question. What package was installed from [marmalade][]? In
127the lisp fashion, I created yet another function: 127the lisp fashion, I created yet another function:
128 128
129```elisp 129```lisp
130(defun package-show-installed-from-archive (archive) 130(defun package-show-installed-from-archive (archive)
131 (interactive (list (helm-comp-read "Archive: " (mapcar #'car package-archives) 131 (interactive (list (helm-comp-read "Archive: " (mapcar #'car package-archives)
132 :must-match t))) 132 :must-match t)))
@@ -142,7 +142,7 @@ the lisp fashion, I created yet another function:
142 142
143Running this with the argument `"marmalade"` gives: 143Running this with the argument `"marmalade"` gives:
144 144
145```elisp 145```lisp
146(php-extras) 146(php-extras)
147``` 147```
148 148