Function: semantic-complete-read-tag-engine
semantic-complete-read-tag-engine is a byte-compiled function defined
in complete.el.gz.
Signature
(semantic-complete-read-tag-engine COLLECTOR DISPLAYER PROMPT DEFAULT-TAG INITIAL-INPUT HISTORY)
Documentation
Read a semantic tag, and return a tag for the selection.
Argument COLLECTOR is an object which can be used to calculate
a list of possible hits. See semantic-completion-collector-engine
for details on COLLECTOR.
Argument DISPLAYER is an object used to display a list of possible
completions for a given prefix. See semantic-completion-display-engine
for details on DISPLAYER.
PROMPT is a string to prompt with.
DEFAULT-TAG is a semantic tag or string to use as the default value.
If INITIAL-INPUT is non-nil, insert it in the minibuffer initially.
HISTORY is a symbol representing a variable to story the history in.
Source Code
;; Defined in /usr/src/emacs/lisp/cedet/semantic/complete.el.gz
(defun semantic-complete-read-tag-engine (collector displayer prompt
default-tag initial-input
history)
"Read a semantic tag, and return a tag for the selection.
Argument COLLECTOR is an object which can be used to calculate
a list of possible hits. See `semantic-completion-collector-engine'
for details on COLLECTOR.
Argument DISPLAYER is an object used to display a list of possible
completions for a given prefix. See `semantic-completion-display-engine'
for details on DISPLAYER.
PROMPT is a string to prompt with.
DEFAULT-TAG is a semantic tag or string to use as the default value.
If INITIAL-INPUT is non-nil, insert it in the minibuffer initially.
HISTORY is a symbol representing a variable to story the history in."
(let* ((semantic-completion-collector-engine collector)
(semantic-completion-display-engine displayer)
(semantic-complete-active-default nil)
(semantic-complete-current-matched-tag nil)
(default-as-tag (semantic-complete-default-to-tag default-tag))
(default-as-string (when (semantic-tag-p default-as-tag)
(semantic-tag-name default-as-tag)))
)
(when default-as-string
;; Add this to the prompt.
;;
;; I really want to add a lookup of the symbol in those
;; tags available to the collector and only add it if it
;; is available as a possibility, but I'm too lazy right
;; now.
;;
;; @todo - move from () to into the editable area
(if (string-match ":" prompt)
(setq prompt (format-prompt
(substring prompt 0 (match-beginning 0))
default-as-string))
(setq prompt (format-prompt prompt default-as-string))))
;;
;; Perform the Completion
;;
(unwind-protect
(read-from-minibuffer prompt
initial-input
semantic-complete-key-map
nil
(or history
'semantic-completion-default-history)
default-tag)
(semantic-collector-cleanup semantic-completion-collector-engine)
(semantic-displayer-cleanup semantic-completion-display-engine)
)
;;
;; Extract the tag from the completion machinery.
;;
semantic-complete-current-matched-tag
))