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)))))