Function: semantic-ia-sb-tag-info
semantic-ia-sb-tag-info is a byte-compiled function defined in
ia-sb.el.gz.
Signature
(semantic-ia-sb-tag-info TEXT TAG INDENT)
Documentation
Display as much information as we can about tag.
Show the information in a shrunk split-buffer and expand out as many details as possible. TEXT, TAG, and INDENT are speedbar function arguments.
Source Code
;; Defined in /usr/src/emacs/lisp/cedet/semantic/ia-sb.el.gz
(defun semantic-ia-sb-tag-info (_text tag _indent)
"Display as much information as we can about tag.
Show the information in a shrunk split-buffer and expand
out as many details as possible.
TEXT, TAG, and INDENT are speedbar function arguments."
(when (semantic-tag-p tag)
(unwind-protect
(let ((ob nil))
(speedbar-select-attached-frame)
(setq ob (current-buffer))
(with-output-to-temp-buffer "*Tag Information*"
;; Output something about this tag:
(with-current-buffer "*Tag Information*"
(goto-char (point-max))
(insert
(semantic-format-tag-prototype tag nil t)
"\n")
(let ((typetok
(condition-case nil
(with-current-buffer ob
;; @todo - We need a context to derive a scope from.
(semantic-analyze-tag-type tag nil))
(error nil))))
(if typetok
(insert (semantic-format-tag-prototype
typetok nil t))
;; No type found by the analyzer
;; The below used to try and select the buffer from the last
;; analysis, but since we are already in the correct buffer, I
;; don't think that is needed.
(let ((type (semantic-tag-type tag)))
(cond ((semantic-tag-p type)
(setq type (semantic-tag-name type)))
((listp type)
(setq type (car type))))
(if (semantic-lex-keyword-p type)
(setq typetok
(semantic-lex-keyword-get type 'summary))))
(if typetok
(insert typetok))
))
))
;; Make it small
(shrink-window-if-larger-than-buffer
(get-buffer-window "*Tag Information*")))
(select-frame speedbar-frame))))