Homepage: http://homepages.cs.ncl.ac.uk/phillip.lord/emacs.html
Author: Klaus Berndl
Updated:
Provides support for insertion of
This package provides support for insertion of electric characters
with the tempo package into cc-mode buffers. The current problem
with tempo is that it requires hard coding in the templates where
braces, and such forth should go, whilst cc-mode is perfectly
capable of making these decisions automatically. This package
allows tempo to insert these characters and have cc-mode behave
appropriately.
In practice what this means is that instead of putting "{" into
your tempo template, you put (i ?{) (this should NOT be quoted, as
tempo needs to evaluate it!). If you have switched on the auto
electric mode within cc-mode it will now newline and reindent this
"{" depending on your indentation settings.
this is an example of a complete template where all electric charcters
of cc-mode (here: (){};) will be inserted with the new i-element of this
package.
old version without electric characters processing
(tempo-define-template "c-for-i"
'(> "for (" (p "variable: " var) " = 0; " (s var)
" < "(p "upper bound: " ub)"; " (s var) "++)" > n>
"{" > n> r> n
"}"
)
"fori"
"Insert a C for loop: for (x = 0; x < ..; x++)"
'c-tempo-tags)
new-version with electric characters processing
(tempo-define-template "c-for-i"
'(> "for " (i ?\() (p "variable: " var) " = 0" (i ?\;) " " (s var)
" < " (p "upper bound: " ub) (i ?\;) " " (s var) "++"
(i ?\)) " " >
(i ?{) r> n>
(i ?})
)
"fori"
"Insert a C for loop: for (x = 0; x < ..; x++)"
'c-tempo-tags)
Installation
Place this file into your load-path, and add this to your .emacs
(require 'cc-tempo-electric-support)