[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/evil-numbers 11fc45c760 086/145: Cleanup: move subscript e
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/evil-numbers 11fc45c760 086/145: Cleanup: move subscript encode/decode into utility functions |
Date: |
Thu, 6 Jan 2022 03:00:21 -0500 (EST) |
branch: elpa/evil-numbers
commit 11fc45c76074ad32518c92599eaad49fdc21746f
Author: Campbell Barton <ideasman42@gmail.com>
Commit: Campbell Barton <ideasman42@gmail.com>
Cleanup: move subscript encode/decode into utility functions
Making the code easier to follow.
---
evil-numbers.el | 52 ++++++++++++++++++++++++++++++----------------------
1 file changed, 30 insertions(+), 22 deletions(-)
diff --git a/evil-numbers.el b/evil-numbers.el
index 569fd0e32e..a593763127 100644
--- a/evil-numbers.el
+++ b/evil-numbers.el
@@ -110,6 +110,24 @@
(if (stringp string) #'concat #'identity)
(mapcar (lambda (c) (cdr (assoc c alist))) string)))
+(defun evil-numbers--encode-super (x)
+ "Convert X string into super-script."
+ (evil-numbers--translate-with-alist
+ evil-numbers--superscript-alist x))
+(defun evil-numbers--decode-super (x)
+ "Convert X string from super-script into regular characters."
+ (evil-numbers--translate-with-alist
+ (evil-numbers--swap-alist evil-numbers--superscript-alist) x))
+
+(defun evil-numbers--encode-sub (x)
+ "Convert X string into sub-script."
+ (evil-numbers--translate-with-alist
+ evil-numbers--subscript-alist x))
+(defun evil-numbers--decode-sub (x)
+ "Convert X string from sub-script into regular characters."
+ (evil-numbers--translate-with-alist
+ (evil-numbers--swap-alist evil-numbers--subscript-alist) x))
+
;;;###autoload (autoload 'evil-numbers/inc-at-pt "evil-numbers" nil t)
(evil-define-operator evil-numbers/inc-at-pt (amount beg end type &optional
incremental padded)
"Increment the number at point or after point before `end-of-line' by AMOUNT.
@@ -171,29 +189,29 @@ number with a + sign."
(if (not (evil-numbers--search-number))
(error "No number at point or until end of line")
(let ((replace-with
- (lambda (from to)
+ (lambda (decode-fn encode-fn)
(skip-chars-backward
- (funcall from "0123456789"))
+ (funcall encode-fn "0123456789"))
(skip-chars-backward
- (funcall from "+-") (- (point) 1))
+ (funcall encode-fn "+-") (- (point) 1))
(when (looking-at
(format
"[%s]?\\([%s]+\\)"
- (funcall from "-+")
- (funcall from "0123456789")))
+ (funcall encode-fn "-+")
+ (funcall encode-fn "0123456789")))
(replace-match
(funcall
- from
+ encode-fn
(let* ((padded
(or padded
(eq ?0 (string-to-char (match-string 1)))))
(input (string-to-number
- (funcall to (match-string 0))))
+ (funcall decode-fn (match-string 0))))
(output (+ amount input))
(len (- (match-end 0) (match-beginning 0)))
(signed (and
(memq (string-to-char (match-string 0))
- (funcall from '(?+ ?-)))
+ (funcall encode-fn '(?+ ?-)))
(or padded (>= input 0)))))
(format
(format "%%%s0%dd"
@@ -237,24 +255,14 @@ number with a + sign."
;; Find superscript literals.
(funcall
replace-with
- (lambda (x)
- (evil-numbers--translate-with-alist
- evil-numbers--superscript-alist x))
- (lambda (x)
- (evil-numbers--translate-with-alist
- (evil-numbers--swap-alist evil-numbers--superscript-alist)
- x)))
+ #'evil-numbers--decode-super
+ #'evil-numbers--encode-super)
;; Find subscript literals.
(funcall
replace-with
- (lambda (x)
- (evil-numbers--translate-with-alist
- evil-numbers--subscript-alist x))
- (lambda (x)
- (evil-numbers--translate-with-alist
- (evil-numbers--swap-alist evil-numbers--subscript-alist)
- x)))
+ #'evil-numbers--decode-sub
+ #'evil-numbers--encode-sub)
;; Find normal decimal literals.
(funcall replace-with #'identity #'identity)
- [nongnu] elpa/evil-numbers 0d66b63f42 116/145: CHANGELOG.org: update with recent fixes, (continued)
- [nongnu] elpa/evil-numbers 0d66b63f42 116/145: CHANGELOG.org: update with recent fixes, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers 1acf90638b 128/145: Bump to 0.6, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers c39f8f1c19 122/145: Cleanup: auto-indent the changelog, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers ef72a4fea1 135/145: Cleanup: correct doc-strings, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers 70b986276a 117/145: Cleanup: declare nums as `(list)` for readability, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers 623bcbd04f 130/145: README: add "similar packages" section, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers 1bf577af5c 132/145: Fix #26: Optionally match characters directly before the cursor, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers 43ae06047c 115/145: README.org: keypad can be used for other platforms too, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers 83e98f9fe2 096/145: Correct invalid limit argument to `looking-back', ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers a6cf01fd90 090/145: Fix #21 increment w/ selection ignores items before the cursor, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers 11fc45c760 086/145: Cleanup: move subscript encode/decode into utility functions,
ELPA Syncer <=
- [nongnu] elpa/evil-numbers bea0c102af 088/145: Cleanup: use term amount for both decimal/(hex/bin/octal) functions, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers f33d0137ac 072/145: Cleanup: quiet package-lint warnings, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers 48b528baec 131/145: Refactor: instead of passing an amount, pass in a function, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers fd742943fd 127/145: README.org use definition lists for options, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers cd23a7b458 136/145: README.org: update poor wording, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers 9841266544 113/145: Cleanup: replace catch/throw with a 'found' variable, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers 9cf802c29d 119/145: Fix #24 hexadecimal values case when incrementing/decrementing, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers 6ea1c8c3a9 036/145: Use list for contributers., ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers a2ce896e05 049/145: Update documentation, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-numbers ac4101f0e4 052/145: Explicitly require evil., ELPA Syncer, 2022/01/06