Function: vhdl-template-function
vhdl-template-function is an interactive and byte-compiled function
defined in vhdl-mode.el.gz.
Signature
(vhdl-template-function &optional KIND)
Documentation
Insert a function declaration or body.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/vhdl-mode.el.gz
(defun vhdl-template-function (&optional kind)
"Insert a function declaration or body."
(interactive)
(let ((margin (current-indentation))
(start (point))
name)
(vhdl-insert-keyword "FUNCTION ")
(when (setq name (vhdl-template-field "name" nil t start (point)))
(vhdl-template-argument-list t)
(when vhdl-auto-align (vhdl-align-region-groups start (point) 1))
(end-of-line)
(insert "\n")
(indent-to (+ margin vhdl-basic-offset))
(vhdl-insert-keyword "RETURN ")
(vhdl-template-field "type")
(if (if kind (eq kind 'body)
(eq (vhdl-decision-query nil "(d)eclaration or (b)ody?") ?b))
(progn (vhdl-insert-keyword " IS\n")
(vhdl-template-begin-end
(unless (vhdl-standard-p '87) "FUNCTION") name margin)
(vhdl-comment-block))
(insert ";")))))