diff options
-rw-r--r-- | sx-filter.el | 6 | ||||
-rw-r--r-- | sx-question-list.el | 38 |
2 files changed, 39 insertions, 5 deletions
diff --git a/sx-filter.el b/sx-filter.el index d484f43..15bd8a1 100644 --- a/sx-filter.el +++ b/sx-filter.el @@ -106,6 +106,7 @@ return the compiled filter." (defvar sx-browse-filter (sx-filter-from-nil ((question body_markdown + bounty_amount comments answers last_editor @@ -116,7 +117,10 @@ return the compiled filter." downvoted question_id share_link) - (user display_name) + (user display_name + reputation) + (shallow_user display_name + reputation) (comment owner body_markdown body diff --git a/sx-question-list.el b/sx-question-list.el index 0a8e72c..40b72b9 100644 --- a/sx-question-list.el +++ b/sx-question-list.el @@ -104,6 +104,21 @@ "" :group 'sx-question-list-faces) +(defface sx-question-list-bounty + '((t :inherit font-lock-warning-face)) + "" + :group 'sx-question-list-faces) + +(defface sx-question-list-reputation + '((t :inherit sx-question-list-date)) + "" + :group 'sx-question-list-faces) + +(defface sx-question-list-user + '((t :inherit font-lock-builtin-face)) + "" + :group 'sx-question-list-faces) + ;;; Backend variables (defvar sx-question-list--print-function #'sx-question-list--print-info @@ -141,20 +156,35 @@ Also see `sx-question-list-refresh'." 'sx-question-list-answers-accepted 'sx-question-list-answers)) (concat + ;; First line (propertize .title 'face (if (sx-question--read-p question-data) 'sx-question-list-read-question 'sx-question-list-unread-question)) (propertize " " 'display "\n ") + ;; Second line (propertize favorite 'face 'sx-question-list-favorite) - " " - (propertize (concat (sx-time-since .last_activity_date) - sx-question-list-ago-string) + (if (and (numberp .bounty_amount) (> .bounty_amount 0)) + (propertize (format "%4d" .bounty_amount) + 'face 'sx-question-list-bounty) + " ") + " " + (propertize (format "%3s%s" + (sx-time-since .last_activity_date) + sx-question-list-ago-string) 'face 'sx-question-list-date) " " - (propertize (mapconcat #'sx-question--tag-format .tags " ") + ;; @TODO: Make this width customizable. (Or maybe just make + ;; the whole thing customizable) + (propertize (format "%-40s" (mapconcat #'sx-question--tag-format .tags " ")) 'face 'sx-question-list-tags) + " " + (let-alist .owner + (format "%15s %5s" + (propertize .display_name 'face 'sx-question-list-user) + (propertize (number-to-string .reputation) + 'face 'sx-question-list-reputation))) (propertize " " 'display "\n"))))))) (defvar sx-question-list--pages-so-far 0 |