Function: idlwave-complete-class

idlwave-complete-class is an interactive and byte-compiled function defined in idlwave.el.gz.

Signature

(idlwave-complete-class)

Documentation

Complete a class at point.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/idlwave.el.gz
(defun idlwave-complete-class ()
  "Complete a class at point."
  (interactive)
  ;; Call `idlwave-routines' to make sure the class list will be available
  (idlwave-routines)
  ;; Check for the special case of completing empty string after pro/function
  (if (let ((case-fold-search t))
	(save-excursion
	  (and
	   (re-search-backward "\\<\\(pro\\|function\\)[ \t]+\\="
			       (- (point) 15) t)
	   (goto-char (point-min))
	   (re-search-forward
	    "^[ \t]*\\(pro\\|function\\)[ \t]+\\([a-zA-Z0-9_]+::\\)" nil t))))
      ;; Yank the full class specification
      (insert (match-string 2))
    ;; Do the completion, using list gathered from `idlwave-routines'
    (idlwave-complete-in-buffer
     'class 'class (idlwave-class-alist) nil
     "Select a class" "class"
     (lambda (list) ;; Push it to help-links if system help available
       (mapcar (lambda (x)
                 (let* ((entry (idlwave-class-info x))
                        (link (nth 1 (assq 'link entry))))
                   (if link (push (cons x link)
                                  idlwave-completion-help-links))
                   x))
               list)))))