aboutsummaryrefslogtreecommitdiff
path: root/sx-question-print.el
diff options
context:
space:
mode:
authorArtur Malabarba <bruce.connor.am@gmail.com>2015-01-16 12:16:45 -0200
committerArtur Malabarba <bruce.connor.am@gmail.com>2015-01-16 12:16:45 -0200
commit402bac079cd32d1260ea839667db639f94f4254e (patch)
tree1eaeea3e78200995ad746251a83624b81a99ec35 /sx-question-print.el
parent6378af6a432f42b99487631117d3ee781fa17b0b (diff)
parent389e433953bba4003b102748dbbf5f8a9b421a51 (diff)
Merge branch 'master' into malabarba/fix-display-from-inbox
Conflicts: sx.el
Diffstat (limited to 'sx-question-print.el')
-rw-r--r--sx-question-print.el15
1 files changed, 10 insertions, 5 deletions
diff --git a/sx-question-print.el b/sx-question-print.el
index 9a51efb..f9ecfab 100644
--- a/sx-question-print.el
+++ b/sx-question-print.el
@@ -153,6 +153,15 @@ replaced with the comment."
:type 'boolean
:group 'sx-question-mode)
+(defcustom sx-question-mode-answer-sort-function
+ #'sx-answer-higher-score-p
+ "Function used to sort answers in the question buffer."
+ :type '(choice
+ (const :tag "Higher-scoring first" sx-answer-higher-score-p)
+ (const :tag "Newer first" sx-answer-newer-p)
+ (const :tag "More active first" sx-answer-more-active-p))
+ :group 'sx-question-mode)
+
;;; Functions
;;;; Printing the general structure
@@ -167,11 +176,7 @@ QUESTION must be a data structure returned by `json-read'."
(sx-question-mode--print-section question)
(sx-assoc-let question
(mapc #'sx-question-mode--print-section
- (cl-sort .answers
- ;; Highest-voted first. @TODO: custom sorting
- (lambda (a b)
- (> (cdr (assoc 'score a))
- (cdr (assoc 'score b)))))))
+ (cl-sort .answers sx-question-mode-answer-sort-function)))
(insert "\n\n ")
(insert-text-button "Write an Answer" :type 'sx-button-answer)
;; Go up