Function: vhdl-speedbar-item-info

vhdl-speedbar-item-info is a byte-compiled function defined in vhdl-mode.el.gz.

Signature

(vhdl-speedbar-item-info)

Documentation

Derive and display information about this line item.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/vhdl-mode.el.gz
(defun vhdl-speedbar-item-info ()
  "Derive and display information about this line item."
  (save-excursion
    (beginning-of-line)
    ;; skip invisible number info
    (when (looking-at "^[0-9]+:") (goto-char (match-end 0)))
    (cond
     ;; project/directory entry
     ((looking-at "\\s-*<[-+?]>\\s-+\\([^\n]+\\)$")
      (if vhdl-speedbar-show-projects
	  (message "Project \"%s\"" (match-string-no-properties 1))
	(speedbar-files-item-info)))
     ;; design unit entry
     ((looking-at "\\(\\s-*\\([[{][-+?][]}]\\|[| -]*>\\) \\)\"?\\w")
      (goto-char (match-end 1))
      (let ((face (get-text-property (point) 'face)))
	(message
	 "%s \"%s\" in \"%s\""
	 ;; design unit kind
	 (cond ((or (eq face 'vhdl-speedbar-entity-face)
		    (eq face 'vhdl-speedbar-entity-selected-face))
		(if (equal (match-string 2) ">") "Component" "Entity"))
	       ((or (eq face 'vhdl-speedbar-architecture-face)
		    (eq face 'vhdl-speedbar-architecture-selected-face))
		"Architecture")
	       ((or (eq face 'vhdl-speedbar-configuration-face)
		    (eq face 'vhdl-speedbar-configuration-selected-face))
		"Configuration")
	       ((or (eq face 'vhdl-speedbar-package-face)
		    (eq face 'vhdl-speedbar-package-selected-face))
		"Package")
	       ((or (eq face 'vhdl-speedbar-instantiation-face)
		    (eq face 'vhdl-speedbar-instantiation-selected-face))
		"Instantiation")
	       ((eq face 'vhdl-speedbar-subprogram-face)
		"Subprogram")
	       (t ""))
	 ;; design unit name
	 (buffer-substring-no-properties
	  (progn (looking-at "\"?\\(\\(\\w\\|_\\)+\\)\"?") (match-beginning 1))
	  (match-end 1))
	 ;; file name
	 (file-relative-name
	  (or (car (get-text-property (point) 'speedbar-token))
	      "?")
	  (vhdl-default-directory)))))
     (t (message "")))))