Function: vhdl-speedbar-expand-units

vhdl-speedbar-expand-units is a byte-compiled function defined in vhdl-mode.el.gz.

Signature

(vhdl-speedbar-expand-units KEY)

Documentation

Expand design units in directory/project KEY according to vhdl-speedbar-shown-unit-alist.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/vhdl-mode.el.gz
(defun vhdl-speedbar-expand-units (key)
  "Expand design units in directory/project KEY according to
`vhdl-speedbar-shown-unit-alist'."
  (let ((unit-alist (vhdl-aget vhdl-speedbar-shown-unit-alist key))
	(vhdl-speedbar-update-current-unit nil)
	vhdl-updated-project-list)
    (vhdl-adelete 'vhdl-speedbar-shown-unit-alist key)
    (vhdl-prepare-search-1
     (while unit-alist			; expand units
       (vhdl-speedbar-goto-this-unit key (caar unit-alist))
       (beginning-of-line)
       (let ((arch-alist (nth 1 (car unit-alist)))
	     position)
	 (when (looking-at "^[0-9]+:\\s-*\\[")
	   (goto-char (match-end 0))
	   (setq position (point))
	   (speedbar-do-function-pointer)
	   (select-frame speedbar-frame)
	   (while arch-alist		; expand architectures
	     (goto-char position)
	     (when (re-search-forward
		    (concat "^[0-9]+:\\s-*\\(\\[\\|{.}\\s-+"
			    (car arch-alist) "\\>\\)")
		    nil t)
	       (beginning-of-line)
	       (when (looking-at "^[0-9]+:\\s-*{")
		 (goto-char (match-end 0))
		 (speedbar-do-function-pointer)
		 (select-frame speedbar-frame)))
	     (setq arch-alist (cdr arch-alist))))
	 (setq unit-alist (cdr unit-alist))))))
  (vhdl-speedbar-update-current-unit nil t))