First off, I've been a JDE user for a couple of years now, it has done
wonders for my productivity.
Every couple of months I "discover" and start using a new feature. Recently
I turned on abbrev-mode.
When I want to create a forloop, I type fori[space]. This results in the
following:
for (int = 0; < ; ++)
{
} // end of for (int = 0; < ; ++)
This actually is more annoying than typing out the for loop in that I need
to use the cursor keys to navigate around and put in the loop variable and
upper bound. Looking at the "source" for the abbrev, it looks like it
should prompt me for these values. Is there a setting I need to toggle
before it will prompt for these values. Am I using the feature wrong?
Thanks in advance,
-Geoff
P.S. here is a code snippet that I find extremely usefull. It allows you
to hit tab-twice to do autocompletion. A single hit of the tab key will
indent the code as expected.
(defun geoffs-jde-tab()
"Inteligent tabbing in JDE First time tab is hit, it indents the line,
second time it calls jde-conplete-at point."
(interactive)
(let* ((keys (recent-keys)) ; this stolen from pc-keys....
(len (length keys))
(key1 (if (> len 0) (elt keys (- len 1)) nil))
(key2 (if (> len 1) (elt keys (- len 2)) nil))
(key3 (if (> len 2) (elt keys (- len 3)) nil))
(key-equal-1 (eq key1 key2))
(key-equal-2 (and key-equal-1 (eq key2 key3))))
(cond
(key-equal-1 (call-interactively 'jde-complete-at-point))
(t (call-interactively 'c-indent-command)))
)
)
(provide 'geoffs-jde-tab)
(define-key jde-mode-map [tab] 'geoffs-jde-tab)