Variable: vhdl-align-alist
vhdl-align-alist is a variable defined in vhdl-mode.el.gz.
Value
((vhdl-mode
"^\\s-*\\(across\\|constant\\|quantity\\|signal\\|subtype\\|terminal\\|through\\|type\\|variable\\)[ ]"
"^\\s-*\\(across\\|constant\\|quantity\\|signal\\|subtype\\|terminal\\|through\\|type\\|variable\\)\\([ ]+\\)"
2)
(vhdl-mode ":[^=]" "\\([ ]*\\):[^=]")
(vhdl-mode ":[ ]*\\(in\\|out\\|inout\\|buffer\\|\\)\\>"
":[ ]*\\(in\\|out\\|inout\\|buffer\\|\\)\\([ ]+\\)"
2)
(vhdl-mode "[<:=]=" "\\([ ]*\\)\\??[<:=]=" 1)
(vhdl-mode "=>" "\\([ ]*\\)=>" 1)
(vhdl-mode "[<:=]=" "\\([ ]*\\)\\??[<:=]=" 1)
(vhdl-mode "[ ]after\\>" "[^ ]\\([ ]+\\)after\\>" 1)
(vhdl-mode "[ ]when\\>" "[^ ]\\([ ]+\\)when\\>" 1)
(vhdl-mode "[ ]else\\>" "[^ ]\\([ ]+\\)else\\>" 1)
(vhdl-mode "[ ]across\\>" "[^ ]\\([ ]+\\)across\\>" 1)
(vhdl-mode "[ ]through\\>" "[^ ]\\([ ]+\\)through\\>" 1)
(vhdl-mode "=>" "\\([ ]*\\)=>" 1))
Documentation
The format of this alist is (MODES [or MODE] REGEXP ALIGN-PATTERN SUBEXP).
It is searched in order. If REGEXP is found anywhere in the first line of a region to be aligned, ALIGN-PATTERN will be used for that region. ALIGN-PATTERN must include the whitespace to be expanded or contracted. It may also provide regexps for the text surrounding the whitespace. SUBEXP specifies which sub-expression of ALIGN-PATTERN matches the white space to be expanded/contracted.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/vhdl-mode.el.gz
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Alignment, beautifying
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defconst vhdl-align-alist
'(
;; after some keywords
(vhdl-mode "^\\s-*\\(across\\|constant\\|quantity\\|signal\\|subtype\\|terminal\\|through\\|type\\|variable\\)[ \t]"
"^\\s-*\\(across\\|constant\\|quantity\\|signal\\|subtype\\|terminal\\|through\\|type\\|variable\\)\\([ \t]+\\)" 2)
;; before ':'
(vhdl-mode ":[^=]" "\\([ \t]*\\):[^=]")
;; after direction specifications
(vhdl-mode ":[ \t]*\\(in\\|out\\|inout\\|buffer\\|\\)\\>"
":[ \t]*\\(in\\|out\\|inout\\|buffer\\|\\)\\([ \t]+\\)" 2)
;; before "==", ":=", "=>", and "<="
(vhdl-mode "[<:=]=" "\\([ \t]*\\)\\??[<:=]=" 1) ; since "<= ... =>" can occur
(vhdl-mode "=>" "\\([ \t]*\\)=>" 1)
(vhdl-mode "[<:=]=" "\\([ \t]*\\)\\??[<:=]=" 1) ; since "=> ... <=" can occur
;; before some keywords
(vhdl-mode "[ \t]after\\>" "[^ \t]\\([ \t]+\\)after\\>" 1)
(vhdl-mode "[ \t]when\\>" "[^ \t]\\([ \t]+\\)when\\>" 1)
(vhdl-mode "[ \t]else\\>" "[^ \t]\\([ \t]+\\)else\\>" 1)
(vhdl-mode "[ \t]across\\>" "[^ \t]\\([ \t]+\\)across\\>" 1)
(vhdl-mode "[ \t]through\\>" "[^ \t]\\([ \t]+\\)through\\>" 1)
;; before "=>" since "when/else ... =>" can occur
(vhdl-mode "=>" "\\([ \t]*\\)=>" 1)
)
"The format of this alist is (MODES [or MODE] REGEXP ALIGN-PATTERN SUBEXP).
It is searched in order. If REGEXP is found anywhere in the first
line of a region to be aligned, ALIGN-PATTERN will be used for that
region. ALIGN-PATTERN must include the whitespace to be expanded or
contracted. It may also provide regexps for the text surrounding the
whitespace. SUBEXP specifies which sub-expression of
ALIGN-PATTERN matches the white space to be expanded/contracted.")