Function: semantic-analyze-possible-completions-makefile-mode

semantic-analyze-possible-completions-makefile-mode is a byte-compiled function defined in make.el.gz.

Signature

(semantic-analyze-possible-completions-makefile-mode CONTEXT &rest FLAGS)

Documentation

Return a list of possible completions in a Makefile.

Uses default implementation, and also gets a list of filenames. Override semantic-analyze-possible-completions in makefile-mode buffers.

Source Code

;; Defined in /usr/src/emacs/lisp/cedet/semantic/bovine/make.el.gz
(define-mode-local-override semantic-analyze-possible-completions
  makefile-mode (context &rest _flags)
  "Return a list of possible completions in a Makefile.
Uses default implementation, and also gets a list of filenames."
  (require 'semantic/analyze/complete)
  (with-current-buffer (oref context buffer)
    (let* ((normal (semantic-analyze-possible-completions-default context))
	   (classes (oref context prefixclass))
	   (filetags nil))
      (when (memq 'filename classes)
	(let* ((prefix (car (oref context prefix)))
	       (completetext (cond ((semantic-tag-p prefix)
				    (semantic-tag-name prefix))
				   ((stringp prefix)
				    prefix)
				   ((stringp (car prefix))
				    (car prefix))))
	       (files (directory-files default-directory nil
				       (concat "^" completetext))))
	  (setq filetags (mapcar (lambda (f) (semantic-tag f 'filename))
				 files))))
      ;; Return the normal completions found, plus any filenames
      ;; that match.
      (append normal filetags)
      )))