Function: idlwave-statement-type

idlwave-statement-type is a byte-compiled function defined in idlwave.el.gz.

Signature

(idlwave-statement-type)

Documentation

Return the type of the current IDL statement.

Uses idlwave-statement-match to return a cons of (type . point) with point the ending position where the type was determined. Type is the association from idlwave-statement-match, i.e. the cons cell from the list not just the type symbol. Returns nil if not an identifiable statement.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/idlwave.el.gz
(defun idlwave-statement-type ()
  "Return the type of the current IDL statement.
Uses `idlwave-statement-match' to return a cons of (type . point) with
point the ending position where the type was determined.  Type is the
association from `idlwave-statement-match', i.e. the cons cell from the
list not just the type symbol.  Returns nil if not an identifiable
statement."
  (save-excursion
    ;; Skip whitespace within a statement which is spaces, tabs, continuations
    ;; and possibly comments
    (while (looking-at "[ \t]*\\$")
      (forward-line 1))
    (skip-chars-forward " \t")
    (let ((st idlwave-statement-match)
          (case-fold-search t))
      (while (and (not (looking-at (nth 0 (cdr (car st)))))
                  (setq st (cdr st))))
      (if st
          (append st (match-end 0))))))