diff options
author | Tom Willemse | 2014-02-14 00:38:20 +0100 |
---|---|---|
committer | Tom Willemse | 2014-02-14 00:38:20 +0100 |
commit | aef68eb8043b68a308d35da97ed7fee7024fa212 (patch) | |
tree | f8479b6c9a603719a28362ce155d7d08501871e7 | |
parent | e8a8a700a45c87c91c1a42d66386b0eee03a536c (diff) | |
download | avandu-aef68eb8043b68a308d35da97ed7fee7024fa212.tar.gz avandu-aef68eb8043b68a308d35da97ed7fee7024fa212.zip |
Sort and group headlines
Even though sorting by feed id is completely meaningless, it is easy.
-rw-r--r-- | avandu.el | 19 |
1 files changed, 16 insertions, 3 deletions
@@ -687,14 +687,27 @@ This screen shows the contents of an article. \\{avandu-overview-map} \\<avandu-overview-map>") +(defsubst avandu--feed-id (alist) + "Get a feed_id from ALIST." + (cdr (assoc 'feed_id alist))) + +(defun avandu--order-feed (feed1 feed2) + "Return t if FEED1 should be sorted before FEED2." + (string< (avandu--feed-id feed1) (avandu--feed-id feed2))) + ;;;###autoload (defun avandu-overview () - "Request the headlines of unread articles and list them grouped -by feed." + "Request the headlines of unread articles and list them. + +The list is grouped and sorted by feed ID. Sorting by feed ID is +meaningless, but it's easy." (interactive) (avandu--check-login) (let ((buffer (get-buffer-create "*avandu-overview*")) - (result (avandu-headlines -4 :show-excerpt t :view-mode "unread")) + (result (sort (cl-coerce (avandu-headlines -4 :show-excerpt t + :view-mode "unread") + 'list) + #'avandu--order-feed)) feed-id) (with-current-buffer buffer (setq buffer-read-only nil) |