[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/tempel 675e759bde 64/82: Add special prompt treatment
From: |
ELPA Syncer |
Subject: |
[elpa] externals/tempel 675e759bde 64/82: Add special prompt treatment |
Date: |
Sun, 9 Jan 2022 20:58:45 -0500 (EST) |
branch: externals/tempel
commit 675e759bdead7cc91307e98284af1de2e8c2a58d
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
Add special prompt treatment
If the prompt has the form "Prompt: ", place the point at the end.
Otherwise place the point at the beginning.
---
tempel.el | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)
diff --git a/tempel.el b/tempel.el
index cee3ec646e..c129b50186 100644
--- a/tempel.el
+++ b/tempel.el
@@ -154,7 +154,7 @@ AFTER is non-nil after the modification.
BEG and END are the boundaries of the modification."
(cond
;; Erase default before modification if at beginning or end
- ((and (not after) (eq 'tempel-default (overlay-get ov 'face))
+ ((and (not after) (overlay-get ov 'tempel--default)
(or (= beg (overlay-start ov)) (= end (overlay-end ov))))
(delete-region (overlay-start ov) (overlay-end ov)))
;; Update field after modification
@@ -168,8 +168,6 @@ BEG and END are the boundaries of the modification."
(overlay-start ov) (overlay-end ov))))
(unless undo-in-progress
(template--synchronize-fields st ov)))))
- (when (eq 'tempel-default (overlay-get ov 'face))
- (overlay-put ov 'face 'tempel-field))
(tempel--update-mark ov))
(defun template--synchronize-fields (st current)
@@ -199,13 +197,14 @@ If OV is alive, move it."
(insert str)
(when ov
(move-overlay ov beg (point))
- (when (eq (overlay-get ov 'face) 'tempel-default)
- (overlay-put ov 'face 'tempel-field))
(tempel--update-mark ov)))))))
(defun tempel--update-mark (ov)
"Update field mark from OV."
(unless (overlay-get ov 'tempel--form)
+ (when (overlay-get ov 'tempel--default)
+ (overlay-put ov 'tempel--default nil)
+ (overlay-put ov 'face 'tempel-field))
(overlay-put ov 'before-string
(and (or (= (overlay-start ov) (overlay-end ov))
;; TODO mark for blank fields?
@@ -228,12 +227,15 @@ INIT is the optional initial input."
(insert init)
(move-overlay ov (overlay-start ov) (point)))
(tempel--update-mark ov)
- (overlay-put ov 'face (if (and init (get-text-property 0 'tempel--default
init))
- 'tempel-default 'tempel-field))
+ (overlay-put ov 'tempel--state st)
(overlay-put ov 'modification-hooks (list #'tempel--field-modified))
(overlay-put ov 'insert-in-front-hooks (list #'tempel--field-modified))
(overlay-put ov 'insert-behind-hooks (list #'tempel--field-modified))
- (overlay-put ov 'tempel--state st)))
+ (overlay-put ov 'face 'tempel-field)
+ (when (and init (get-text-property 0 'tempel--default init))
+ (overlay-put ov 'face 'tempel-default)
+ (overlay-put ov 'tempel--default
+ (if (string-match-p ": \\'" init) 'end 'start)))))
(defun tempel--form (st form)
"Add new template field evaluating FORM to ST."
@@ -345,7 +347,7 @@ PROMPT is the optional prompt/default value."
(dolist (st tempel--active next)
(dolist (ov (car st))
(unless (overlay-get ov 'tempel--form)
- (setq stop (if (or (< dir 0) (eq 'tempel-default (overlay-get ov
'face)))
+ (setq stop (if (or (< dir 0) (eq 'start (overlay-get ov
'tempel--default)))
(overlay-start ov) (overlay-end ov)))
(cond
((and (> dir 0) (> stop pt))
- [elpa] externals/tempel 0e618cd169 23/82: Do not sort overlays, (continued)
- [elpa] externals/tempel 0e618cd169 23/82: Do not sort overlays, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel 04d4f6c055 55/82: Use named key function, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel 91f6978ddd 60/82: Use Tempo PROMPT as default value, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel e20f982dc5 25/82: Remove global variable tempel--state, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel fa99fb7f96 34/82: README: Update keybindings, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel c4cd6e0f69 73/82: Rename tempel-expand -> tempel-complete, add tempel-expand (Fix #13), ELPA Syncer, 2022/01/09
- [elpa] externals/tempel 8f8588985a 04/82: Simplify template markers, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel d9efb707b3 20/82: Improve undo behavior, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel 4bc75c1aba 52/82: Use the more subtle face colors from Modus, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel 52d8556c05 57/82: Improve annotation function, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel 675e759bde 64/82: Add special prompt treatment,
ELPA Syncer <=
- [elpa] externals/tempel e6aa1892af 14/82: README: Simplify template, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel 2ba940809a 42/82: Add temple-abort (Fix #2), ELPA Syncer, 2022/01/09
- [elpa] externals/tempel 5521546f48 10/82: README: Add header, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel d2d5566282 65/82: Improve description of PROMPT/DEFAULT value, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel e529887d5d 70/82: tempel-expand: Fix exit function, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel 349e9735ac 08/82: Remove global temple-region variable, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel bdf04d8c48 05/82: Improved field movement, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel 76a5ab120b 15/82: Add customization variables, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel f7990f528b 11/82: README update, ELPA Syncer, 2022/01/09
- [elpa] externals/tempel 5807ca4d28 33/82: Use remappings, ELPA Syncer, 2022/01/09