summaryrefslogtreecommitdiff
path: root/src/gizmo/wasp-dna.el
diff options
context:
space:
mode:
Diffstat (limited to 'src/gizmo/wasp-dna.el')
-rw-r--r--src/gizmo/wasp-dna.el12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/gizmo/wasp-dna.el b/src/gizmo/wasp-dna.el
index 5c8f19a5..d3e0ef81 100644
--- a/src/gizmo/wasp-dna.el
+++ b/src/gizmo/wasp-dna.el
@@ -23,12 +23,16 @@
"Return the paths of every log file."
(--filter (s-matches? (rx "log-" (+ digit) "-" (+ digit) "-" (+ digit) ".txt") it) (f-files "~/logs")))
+(defvar w/dna-log-cache nil)
(defun w/dna-complete-log ()
"Return a complete log of every historical message."
- (let* ((paths (w/dna-get-all-log-paths))
- (logstr (apply #'s-concat (-map #'w/slurp paths)))
- (log (--map (w/list-to-pair (s-split ": " it)) (-non-nil (--map (cadr (s-split "\t" it)) (s-lines logstr))))))
- log))
+ (or
+ w/dna-log-cache
+ (let* ((paths (w/dna-get-all-log-paths))
+ (logstr (apply #'s-concat (-map #'w/slurp paths)))
+ (log (--map (w/list-to-pair (s-split ": " it)) (-non-nil (--map (cadr (s-split "\t" it)) (s-lines logstr))))))
+ (setf w/dna-log-cache log)
+ log)))
(defun w/dna-user-log (user)
"Return a complete log of every message sent by USER."