Function: semantic-collector-next-action

semantic-collector-next-action is a byte-compiled function defined in complete.el.gz.

Signature

(semantic-collector-next-action ARG &rest ARGS)

Implementations

((obj semantic-collector-abstract) partial) in `semantic/complete.el'.

What should we do next? OBJ can be used to determine the next action. PARTIAL indicates if we are doing a partial completion.

Source Code

;; Defined in /usr/src/emacs/lisp/cedet/semantic/complete.el.gz
(cl-defmethod semantic-collector-next-action
  ((obj semantic-collector-abstract) partial)
  "What should we do next?  OBJ can be used to determine the next action.
PARTIAL indicates if we are doing a partial completion."
  (if (and (slot-boundp obj 'last-completion)
	   (string= (semantic-completion-text) (oref obj last-completion)))
      (let* ((cem (semantic-collector-current-exact-match obj))
	     (cemlen (semanticdb-find-result-length cem))
	     (cac (semantic-collector-all-completions
		   obj (semantic-completion-text)))
	     (caclen (semanticdb-find-result-length cac)))
	(cond ((and cem (= cemlen 1)
		    cac (> caclen 1)
		    (eq last-command this-command))
	       ;; Defer to the displayer...
	       nil)
	      ((and cem (= cemlen 1))
	       'done)
	      ((and (not cem) (not cac))
	       'empty)
	      ((and partial (semantic-collector-try-completion-whitespace
			     obj (semantic-completion-text)))
	       'complete-whitespace)))
    'complete))