[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/svg-tag-mode 72f125ebf4 1/2: Fix progress bars
From: |
ELPA Syncer |
Subject: |
[elpa] externals/svg-tag-mode 72f125ebf4 1/2: Fix progress bars |
Date: |
Mon, 22 Jan 2024 09:59:08 -0500 (EST) |
branch: externals/svg-tag-mode
commit 72f125ebf464faab1a094b38be520725ef46a063
Author: Nicolas P. Rougier <Nicolas.Rougier@inria.fr>
Commit: Nicolas P. Rougier <Nicolas.Rougier@inria.fr>
Fix progress bars
---
examples/example-2.el | 47 +++++++++++++++++++++++++++--------------------
1 file changed, 27 insertions(+), 20 deletions(-)
diff --git a/examples/example-2.el b/examples/example-2.el
index d1bff80bb2..1a752204f0 100644
--- a/examples/example-2.el
+++ b/examples/example-2.el
@@ -22,21 +22,27 @@
(defconst day-time-re (format "\\(%s\\)? ?\\(%s\\)?" day-re time-re))
(defun svg-progress-percent (value)
- (svg-image (svg-lib-concat
- (svg-lib-progress-bar (/ (string-to-number value) 100.0)
- nil :margin 0 :stroke 2 :radius 3 :padding 2
:width 11)
- (svg-lib-tag (concat value "%")
- nil :stroke 0 :margin 0)) :ascent 'center))
+ (save-match-data
+ (svg-image (svg-lib-concat
+ (svg-lib-progress-bar (/ (string-to-number value) 100.0)
+ nil :margin 0 :stroke 2 :radius 3 :padding 2
:width 11)
+ (svg-lib-tag (concat value "%")
+ nil :stroke 0 :margin 0)) :ascent 'center)))
(defun svg-progress-count (value)
- (let* ((seq (mapcar #'string-to-number (split-string value "/")))
- (count (float (car seq)))
- (total (float (cadr seq))))
- (svg-image (svg-lib-concat
- (svg-lib-progress-bar (/ count total) nil
- :margin 0 :stroke 2 :radius 3 :padding 2
:width 11)
- (svg-lib-tag value nil
- :stroke 0 :margin 0)) :ascent 'center)))
+ (save-match-data
+ (let* ((seq (split-string value "/"))
+ (count (if (stringp (car seq))
+ (float (string-to-number (car seq)))
+ 0))
+ (total (if (stringp (cadr seq))
+ (float (string-to-number (cadr seq)))
+ 1000)))
+ (svg-image (svg-lib-concat
+ (svg-lib-progress-bar (/ count total) nil
+ :margin 0 :stroke 2 :radius 3 :padding
2 :width 11)
+ (svg-lib-tag value nil
+ :stroke 0 :margin 0)) :ascent 'center))))
(setq svg-tag-tags
`(
@@ -49,12 +55,6 @@
(svg-tag-make tag :face 'org-priority
:beg 2 :end -1 :margin 0))))
- ;; Progress
- ("\\(\\[[0-9]\\{1,3\\}%\\]\\)" . ((lambda (tag)
- (svg-progress-percent (substring
tag 1 -2)))))
- ("\\(\\[[0-9]+/[0-9]+\\]\\)" . ((lambda (tag)
- (svg-progress-count (substring tag 1
-1)))))
-
;; TODO / DONE
("TODO" . ((lambda (tag) (svg-tag-make "TODO" :face 'org-todo :inverse
t :margin 0))))
("DONE" . ((lambda (tag) (svg-tag-make "DONE" :face 'org-done :margin
0))))
@@ -92,7 +92,14 @@
(svg-tag-make tag :beg 1 :inverse nil :crop-right t :margin 0
:face 'org-date))))
(,(format "\\[%s \\(%s\\]\\)" date-re day-time-re) .
((lambda (tag)
- (svg-tag-make tag :end -1 :inverse t :crop-left t :margin 0 :face
'org-date))))))
+ (svg-tag-make tag :end -1 :inverse t :crop-left t :margin 0 :face
'org-date))))
+
+ ;; ;; Progress
+ ("\\(\\[[0-9]\\{1,3\\}%\\]\\)" . ((lambda (tag)
+ (svg-progress-percent (substring
tag 1 -2)))))
+ ("\\(\\[[0-9]+/[0-9]+\\]\\)" . ((lambda (tag)
+ (svg-progress-count (substring tag 1
-1)))))
+ ))
(svg-tag-mode t)