[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/rt-liberation 95553c6 51/68: * rt-liberation.el: vernac
From: |
Yoni Rabkin |
Subject: |
[elpa] externals/rt-liberation 95553c6 51/68: * rt-liberation.el: vernacular time delta |
Date: |
Wed, 16 Dec 2020 12:11:14 -0500 (EST) |
branch: externals/rt-liberation
commit 95553c6eff2a710901d0684842ee16636f2ca578
Author: Yoni Rabkin <yoni@rabkins.net>
Commit: Yoni Rabkin <yoni@rabkins.net>
* rt-liberation.el: vernacular time delta
---
rt-liberation.el | 39 +++++++++++++++++++++++++++++++++++----
1 file changed, 35 insertions(+), 4 deletions(-)
diff --git a/rt-liberation.el b/rt-liberation.el
index bc5e8c6..4520c8f 100644
--- a/rt-liberation.el
+++ b/rt-liberation.el
@@ -1213,6 +1213,36 @@ ASSOC-BROWSER if non-nil should be a ticket browser."
"Expressions to font-lock for RT ticket viewer.")
+(defun rt-liber-viewer2-vernacular-plural (time)
+ "Add an ess as needed."
+ (if (= time 1)
+ ""
+ "s"))
+
+(defun rt-liber-viewer2-vernacular-date (date)
+ "Return a vernacular time delta."
+ (let* ((now (format-time-string "%Y-%m-%dT%T%z" (current-time)))
+ (days-ago (days-between now date)))
+ (cond ((= 0 days-ago)
+ "today")
+ ((< 0 days-ago 7)
+ (format "%s day%s ago" days-ago
+ (rt-liber-viewer2-vernacular-plural days-ago)))
+ ((< 7 days-ago 30)
+ (let ((weeks (floor (/ days-ago 7.0))))
+ (format "%s week%s ago"
+ weeks
+ (rt-liber-viewer2-vernacular-plural weeks))))
+ ((< 30 days-ago 365)
+ (let ((months (floor (/ days-ago 30.0))))
+ (format "%s month%s ago"
+ months
+ (rt-liber-viewer2-vernacular-plural months))))
+ (t (let ((years (floor (/ days-ago 365.0))))
+ (format "%s year%s ago"
+ years
+ (rt-liber-viewer2-vernacular-plural years)))))))
+
(defun rt-liber-viewer2-mode-quit ()
"Bury the ticket viewer."
(interactive)
@@ -1343,15 +1373,16 @@ ASSOC-BROWSER if non-nil should be a ticket browser."
(field (alist-get 'Field section)))
(let ((start (point)))
(insert
- (format "Ticket %s by %s on %s (-N- days ago) (%s)%s\n"
+ (format "Ticket %s by %s, %s (%s) %s [%s]\n"
ticket-id
creator
- date
+ (rt-liber-viewer2-vernacular-date date)
type
(if (and (string= type "Set")
(string= field "Owner"))
- " (owner change)"
- "")))
+ "(owner change)"
+ "")
+ date))
(add-text-properties start
(point)
`(font-lock-face rt-liber-ticket-emph-face))
- [elpa] externals/rt-liberation a5d7634 26/68: * doc/developer-release.txt: add compile comment, (continued)
- [elpa] externals/rt-liberation a5d7634 26/68: * doc/developer-release.txt: add compile comment, Yoni Rabkin, 2020/12/16
- [elpa] externals/rt-liberation b2f3f57 02/68: * doc/rt-liberation.texinfo: update documentation, Yoni Rabkin, 2020/12/16
- [elpa] externals/rt-liberation 12d16aa 28/68: Add lexical binding declaration, Yoni Rabkin, 2020/12/16
- [elpa] externals/rt-liberation ab6c820 33/68: * rt-liberation-viewer.el:, Yoni Rabkin, 2020/12/16
- [elpa] externals/rt-liberation ec9245d 37/68: * rt-liberation-viewer.el: start work on formatting, Yoni Rabkin, 2020/12/16
- [elpa] externals/rt-liberation 4097a1c 24/68: * rt-liberation-rest.el: new function rt-liber-rest-auth, Yoni Rabkin, 2020/12/16
- [elpa] externals/rt-liberation 1995685 04/68: * rt-liberation-rest.el: fix undefined variable, Yoni Rabkin, 2020/12/16
- [elpa] externals/rt-liberation 0ee9eba 29/68: New file: rt-liberation-viewer, Yoni Rabkin, 2020/12/16
- [elpa] externals/rt-liberation 79104c6 42/68: * rt-liberation.el:, Yoni Rabkin, 2020/12/16
- [elpa] externals/rt-liberation 73a2ba0 47/68: * rt-liberation.el: find sections, Yoni Rabkin, 2020/12/16
- [elpa] externals/rt-liberation 95553c6 51/68: * rt-liberation.el: vernacular time delta,
Yoni Rabkin <=
- [elpa] externals/rt-liberation fd1e4a9 61/68: * rt-liberation.el: add jump to last section, Yoni Rabkin, 2020/12/16
- [elpa] externals/rt-liberation e72ecd8 65/68: * doc/developer-release.txt:, Yoni Rabkin, 2020/12/16
- [elpa] externals/rt-liberation 9902111 19/68: * dir: shorten the name of the info file, Yoni Rabkin, 2020/12/16
- [elpa] externals/rt-liberation 6098e23 25/68: * rt-liberation-rest.el: add requirement, Yoni Rabkin, 2020/12/16
- [elpa] externals/rt-liberation 7ddbe07 22/68: * NEWS:, Yoni Rabkin, 2020/12/16
- [elpa] externals/rt-liberation 280fece 32/68: * rt-liberation-viewer.el: section parsing, Yoni Rabkin, 2020/12/16
- [elpa] externals/rt-liberation 6defec3 34/68: * rt-liberation-viewer.el:, Yoni Rabkin, 2020/12/16
- [elpa] externals/rt-liberation bcbf368 35/68: * rt-liberation-viewer.el: content parsing, Yoni Rabkin, 2020/12/16
- [elpa] externals/rt-liberation fe58520 38/68: * Makefile: neat, Yoni Rabkin, 2020/12/16
- [elpa] externals/rt-liberation 79d8eb1 41/68: * rt-liberation.el: viewer2 work restarts, Yoni Rabkin, 2020/12/16