Function: vhdl-template-for-loop
vhdl-template-for-loop is an interactive and byte-compiled function
defined in vhdl-mode.el.gz.
Signature
(vhdl-template-for-loop)
Documentation
Insert a for loop.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/vhdl-mode.el.gz
(defun vhdl-template-for-loop ()
"Insert a for loop."
(interactive)
(let ((margin (current-indentation))
(start (point))
label index)
(if (not (eq vhdl-optional-labels 'all))
(vhdl-insert-keyword "FOR ")
(vhdl-insert-keyword ": FOR ")
(goto-char start)
(setq label (vhdl-template-field "[label]" nil t))
(unless label (delete-char 2))
(forward-word-strictly 1)
(forward-char 1))
(when (setq index (vhdl-template-field "loop variable"
nil t start (point)))
(vhdl-insert-keyword " IN ")
(vhdl-template-field "range")
(vhdl-insert-keyword " LOOP\n\n")
(indent-to margin)
(vhdl-insert-keyword "END LOOP")
(if label
(insert " " label ";")
(insert ";")
(when vhdl-self-insert-comments (insert " -- " index)))
(forward-line -1)
(indent-to (+ margin vhdl-basic-offset)))))