Function: vhdl-template-variable
vhdl-template-variable is an interactive and byte-compiled function
defined in vhdl-mode.el.gz.
Signature
(vhdl-template-variable)
Documentation
Insert a variable declaration.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/vhdl-mode.el.gz
(defun vhdl-template-variable ()
"Insert a variable declaration."
(interactive)
(let ((start (point))
(in-arglist (vhdl-in-argument-list-p)))
(vhdl-prepare-search-2
(if (or (save-excursion
(progn (vhdl-beginning-of-block)
(looking-at "\\s-*\\(\\w+\\s-*:\\s-*\\)?\\<\\(\\<function\\|procedure\\|process\\|procedural\\)\\>")))
(save-excursion (backward-word-strictly 1)
(looking-at "\\<shared\\>")))
(vhdl-insert-keyword "VARIABLE ")
(if (vhdl-standard-p '87)
(error "ERROR: Not within sequential block")
(vhdl-insert-keyword "SHARED VARIABLE "))))
(when (vhdl-template-field "names" nil t start (point))
(insert " : ")
(when in-arglist (vhdl-template-field "[IN | OUT | INOUT]" " " t))
(vhdl-template-field "type")
(if in-arglist
(progn (insert ";")
(vhdl-comment-insert-inline))
(let ((position (point)))
(insert " := ")
(unless (vhdl-template-field "[initialization]" nil t)
(delete-region position (point)))
(insert ";")
(vhdl-comment-insert-inline))))))