Function: vhdl-template-argument-list
vhdl-template-argument-list is a byte-compiled function defined in
vhdl-mode.el.gz.
Signature
(vhdl-template-argument-list &optional IS-FUNCTION)
Documentation
Read from user a procedure or function argument list.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/vhdl-mode.el.gz
(defun vhdl-template-argument-list (&optional is-function)
"Read from user a procedure or function argument list."
(insert " (")
(let ((margin (current-column))
;; (start (point))
(end-pos (point))
not-empty interface semicolon-pos)
(unless vhdl-argument-list-indent
(setq margin (+ (current-indentation) vhdl-basic-offset))
(insert "\n")
(indent-to margin))
(setq interface (vhdl-template-field
(concat "[CONSTANT | SIGNAL"
(unless is-function " | VARIABLE") "]")
" " t))
(while (vhdl-template-field "[names]" nil t)
(setq not-empty t)
(insert " : ")
(unless is-function
(if (and interface (equal (upcase interface) "CONSTANT"))
(vhdl-insert-keyword "IN ")
(vhdl-template-field "[IN | OUT | INOUT]" " " t)))
(vhdl-template-field "type")
(setq semicolon-pos (point))
(insert ";")
(vhdl-comment-insert-inline)
(setq end-pos (point))
(insert "\n")
(indent-to margin)
(setq interface (vhdl-template-field
(concat "[CONSTANT | SIGNAL"
(unless is-function " | VARIABLE") "]")
" " t)))
(delete-region end-pos (point))
(when semicolon-pos (goto-char semicolon-pos))
(if not-empty
(progn (delete-char 1) (insert ")"))
(delete-char -2))))