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.")