diff options
author | Sean Allred <code@seanallred.com> | 2014-11-18 15:34:10 -0500 |
---|---|---|
committer | Sean Allred <code@seanallred.com> | 2014-11-18 15:34:10 -0500 |
commit | 821bf636028a38562e18d0da0818cd5d09748f97 (patch) | |
tree | dc0514c652c49f11619fec77021ab19268e7dbbb /sx-question-list.el | |
parent | 85268ef6fa01b407e712df8199816f9639a5e539 (diff) | |
parent | 93ba268e78dd4967343f479403719a2e20ebc5bd (diff) |
Merge pull request #71 from vermiculus/hidden-questions
Hidden questions
Diffstat (limited to 'sx-question-list.el')
-rw-r--r-- | sx-question-list.el | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/sx-question-list.el b/sx-question-list.el index dead68f..7dd0d00 100644 --- a/sx-question-list.el +++ b/sx-question-list.el @@ -138,8 +138,20 @@ Letters do not insert themselves; instead, they are commands. ("g" sx-question-list-refresh) (":" sx-question-list-switch-site) ("v" sx-question-list-visit) + ("h" sx-question-list-hide) ([?\r] sx-question-list-display-question))) +(defun sx-question-list-hide (data) + "Hide question under point. +Non-interactively, DATA is a question alist." + (interactive + (list (if (derived-mode-p 'sx-question-list-mode) + (tabulated-list-get-id) + (user-error "Not in `sx-question-list-mode'")))) + (sx-question--mark-hidden data) + (when (called-interactively-p 'any) + (sx-question-list-refresh 'redisplay 'noupdate))) + (defvar sx-question-list--current-page "Latest" ;; Other values (once we implement them) are "Top Voted", ;; "Unanswered", etc. @@ -203,7 +215,8 @@ a new list before redisplaying." (setq sx-question-list--current-dataset question-list) ;; Print the result. (setq tabulated-list-entries - (mapcar #'sx-question-list--print-info question-list))) + (mapcar #'sx-question-list--print-info + (cl-remove-if #'sx-question--hidden-p question-list)))) (when redisplay (tabulated-list-print 'remember))) (defun sx-question-list-visit (&optional data) |