-;;; expand.el --- make abbreviations more usable.
+;;; expand.el --- make abbreviations more usable
;; Copyright (C) 1995, 1996 Free Software Foundation, Inc.
;; ("default" "default:\n\nbreak;" 10)
;; ("main" "int\nmain(int argc, char * argv[])\n{\n\n}\n" 37))
;; "Expansions for C mode")
-;;
+;;
;; and enter Abbrev mode with the following hook :
;;
;; (add-hook 'c-mode-hook (function (lambda ()
;; Please send me a word to give me your feeling about this feature or
;; to explain me how you use it (your expansions table for example) using
;; the function expand-submit-report.
+;;; Code:
\f
;;; Constants:
-(defvar expand-load-hook nil
- "Hooks run when `expand.el' is loaded.")
+(defgroup expand nil
+ "Make abbreviations more usable."
+ :group 'abbrev)
-(defvar expand-expand-hook nil
- "Hooks run when an abbrev made by `expand-add-abbrevs' is expanded.")
+(defcustom expand-load-hook nil
+ "Hooks run when `expand.el' is loaded."
+ :type 'hook
+ :group 'expand)
-(defvar expand-jump-hook nil
- "Hooks run by `expand-jump-to-previous-slot' and `expand-jump-to-next-slot'.")
+(defcustom expand-expand-hook nil
+ "Hooks run when an abbrev made by `expand-add-abbrevs' is expanded."
+ :type 'hook
+ :group 'expand)
+
+(defcustom expand-jump-hook nil
+ "Hooks run by `expand-jump-to-previous-slot' and `expand-jump-to-next-slot'."
+ :type 'hook
+ :group 'expand)
;;; Samples:
"Loop var: "
"for(" str _ @ "=0; " str @ "; " str @ ") {" \n
@ _ \n
- "}" >
- )
+ "}" > \n)
(defconst expand-c-sample-expand-list
'(("if" "if () {\n \n} else {\n \n}" (5 10 21))
(concat
"(defmacro ()\n"
" \"\"\n"
- " (` \n"
+ " `( \n"
" ))")
(list 11 13 18 25))
)
"Expansions for Lisp mode. See `expand-add-abbrevs'.")
-
+
;; perl example from Jari Aalto <jaalto@tre.tele.nokia.fi>
(defconst expand-sample-perl-mode-expand-list
(list
(put 'expand-abbrev-hook 'no-self-insert t)
(defun expand-abbrev-hook ()
"Abbrev hook used to do the expansion job of expand abbrevs.
-See `expand-add-abbrevs'."
+See `expand-add-abbrevs'. Value is non-nil if expansion was done."
;; Expand only at the end of a line if we are near a word that has
;; an abbrev built from expand-add-abbrev.
(if (and (eolp)
expand-pos (expand-list-to-markers expand-list)
expand-list nil)))
(run-hooks 'expand-expand-hook)
- t))))
- )
+ t)
+ nil))
+ nil))
(defun expand-do-expansion ()
(delete-backward-char (length last-abbrev-text))
(defun expand-skeleton-end-hook ()
(if skeleton-positions
(setq expand-list skeleton-positions)))
-
+
(add-hook 'skeleton-end-hook (function expand-skeleton-end-hook))
(provide 'expand)
;; run load hooks
(run-hooks 'expand-load-hook)
+;;; arch-tag: fee53e9e-30e3-4ef3-b191-9785e1f8e885
;;; expand.el ends here