aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/cedet/srecode/fields.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/cedet/srecode/fields.el')
-rw-r--r--lisp/cedet/srecode/fields.el18
1 files changed, 15 insertions, 3 deletions
diff --git a/lisp/cedet/srecode/fields.el b/lisp/cedet/srecode/fields.el
index 347538aa871..ceb5f77f87f 100644
--- a/lisp/cedet/srecode/fields.el
+++ b/lisp/cedet/srecode/fields.el
@@ -35,6 +35,8 @@
35;; Each field has 2 overlays. The second overlay allows control in 35;; Each field has 2 overlays. The second overlay allows control in
36;; the character just after the field, but does not highlight it. 36;; the character just after the field, but does not highlight it.
37 37
38;; @TODO - Cancel an old field array if a new one is about to be created!
39
38;; Keep this library independent of SRecode proper. 40;; Keep this library independent of SRecode proper.
39(require 'eieio) 41(require 'eieio)
40 42
@@ -43,6 +45,10 @@
43 "While inserting a set of fields, collect in this variable. 45 "While inserting a set of fields, collect in this variable.
44Once an insertion set is done, these fields will be activated.") 46Once an insertion set is done, these fields will be activated.")
45 47
48
49;;; Customization
50;;
51
46(defface srecode-field-face 52(defface srecode-field-face
47 '((((class color) (background dark)) 53 '((((class color) (background dark))
48 (:underline "green")) 54 (:underline "green"))
@@ -51,6 +57,11 @@ Once an insertion set is done, these fields will be activated.")
51 "*Face used to specify editable fields from a template." 57 "*Face used to specify editable fields from a template."
52 :group 'semantic-faces) 58 :group 'semantic-faces)
53 59
60(defcustom srecode-fields-exit-confirmation nil
61 "Ask for confirmation before leaving field editing mode."
62 :group 'srecode
63 :type 'boolean)
64
54;;; BASECLASS 65;;; BASECLASS
55;; 66;;
56;; Fields and the template region share some basic overlay features. 67;; Fields and the template region share some basic overlay features.
@@ -187,7 +198,7 @@ If SET-TO is a string, then replace the text of OLAID wit SET-TO."
187 (oset ir fields srecode-field-archive) 198 (oset ir fields srecode-field-archive)
188 (setq srecode-field-archive nil) 199 (setq srecode-field-archive nil)
189 200
190 ;; Initailize myself first. 201 ;; Initialize myself first.
191 (call-next-method) 202 (call-next-method)
192 ) 203 )
193 204
@@ -237,7 +248,7 @@ If SET-TO is a string, then replace the text of OLAID wit SET-TO."
237 (remove-hook 'post-command-hook 'srecode-field-post-command t) 248 (remove-hook 'post-command-hook 'srecode-field-post-command t)
238 (if (srecode-point-in-region-p ar) 249 (if (srecode-point-in-region-p ar)
239 nil ;; Keep going 250 nil ;; Keep going
240 ;; We moved out of the temlate. Cancel the edits. 251 ;; We moved out of the template. Cancel the edits.
241 (srecode-delete ar))) 252 (srecode-delete ar)))
242 )) 253 ))
243 254
@@ -429,7 +440,8 @@ PRE-LEN is used in the after mode for the length of the changed text."
429(defun srecode-field-exit-ask () 440(defun srecode-field-exit-ask ()
430 "Ask if the user wants to exit field-editing mini-mode." 441 "Ask if the user wants to exit field-editing mini-mode."
431 (interactive) 442 (interactive)
432 (when (y-or-n-p "Exit field-editing mode? ") 443 (when (or (not srecode-fields-exit-confirmation)
444 (y-or-n-p "Exit field-editing mode? "))
433 (srecode-delete (srecode-active-template-region)))) 445 (srecode-delete (srecode-active-template-region))))
434 446
435 447