Variable: f90-font-lock-keywords-1

f90-font-lock-keywords-1 is a variable defined in f90.el.gz.

Value

(("\\_<\\(module[    ]*procedure\\)\\_>\\([^()\n]*::\\)?[         ]*\\([^&!\n]*\\)"
  (1 font-lock-keyword-face) (3 font-lock-function-name-face nil t))
 (f90-typedef-matcher (1 font-lock-keyword-face)
		      (2 font-lock-function-name-face))
 ("\\_<\\(\\(?:end[  ]*\\)?interface[        ]*\\(?:assignment\\|operator\\|read\\|write\\)\\)[      ]*("
  (1 font-lock-keyword-face t))
 ("\\_<\\(\\(?:end[  ]*\\)?\\(program\\|\\(?:module[         ]*\\)?\\(?:function\\|subroutine\\)\\|\\(?:sub\\)?module\\|associate\\|interface\\)\\|use\\|call\\)\\_>[     ]*\\(\\(?:\\sw\\|\\s_\\)+\\)?"
  (1 font-lock-keyword-face) (3 font-lock-function-name-face nil t))
 ("\\_<\\(submodule\\)\\_>[       ]*([^)\n]+)[    ]*\\(\\(?:\\sw\\|\\s_\\)+\\)?"
  (1 font-lock-keyword-face) (2 font-lock-function-name-face nil t))
 ("\\_<\\(use\\)[    ]*,[    ]*\\(\\(?:non_\\)?intrinsic\\)[         ]*::[   ]*\\(\\(?:\\sw\\|\\s_\\)+\\)"
  (1 font-lock-keyword-face) (2 font-lock-keyword-face)
  (3 font-lock-function-name-face))
 "\\_<\\(\\(end[     ]*\\)?block[    ]*data\\|contains\\)\\_>"
 ("\\_<abstract[     ]*interface\\_>" (0 font-lock-keyword-face t)))

Documentation

This does fairly subdued highlighting of comments and function calls.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/f90.el.gz
(defvar f90-font-lock-keywords-1
  (list
   ;; Special highlighting of "module procedure".
   '("\\_<\\(module[ \t]*procedure\\)\\_>\\([^()\n]*::\\)?[ \t]*\\([^&!\n]*\\)"
     (1 font-lock-keyword-face) (3 font-lock-function-name-face nil t))
   ;; Highlight definition of derived type.
;;;    '("\\_<\\(\\(?:end[ \t]*\\)?type\\)\\_>\\([^()\n]*::\\)?[ \t]*\\(\\(?:\\sw\\|\\s_\\)+\\)"
;;;      (1 font-lock-keyword-face) (3 font-lock-function-name-face))
   '(f90-typedef-matcher
     (1 font-lock-keyword-face) (2 font-lock-function-name-face))
   ;; F2003.  Prevent operators being highlighted as functions.
   '("\\_<\\(\\(?:end[ \t]*\\)?interface[ \t]*\\(?:assignment\\|operator\\|\
read\\|write\\)\\)[ \t]*(" (1 font-lock-keyword-face t))
   ;; Other functions and declarations.  Named interfaces = F2003.
   ;; F2008: end submodule submodule_name.
   ;; F2008: module function|subroutine NAME.
   '("\\_<\\(\\(?:end[ \t]*\\)?\\(program\\|\
\\(?:module[ \t]*\\)?\\(?:function\\|subroutine\\)\\|\
\\(?:sub\\)?module\\|associate\\|interface\\)\\|use\\|call\\)\
\\_>[ \t]*\\(\\(?:\\sw\\|\\s_\\)+\\)?"
     (1 font-lock-keyword-face) (3 font-lock-function-name-face nil t))
   ;; F2008: submodule (parent_name) submodule_name.
   '("\\_<\\(submodule\\)\\_>[ \t]*([^)\n]+)[ \t]*\\(\\(?:\\sw\\|\\s_\\)+\\)?"
     (1 font-lock-keyword-face) (2 font-lock-function-name-face nil t))
   ;; F2003.
   '("\\_<\\(use\\)[ \t]*,[ \t]*\\(\\(?:non_\\)?intrinsic\\)[ \t]*::[ \t]*\
\\(\\(?:\\sw\\|\\s_\\)+\\)"
     (1 font-lock-keyword-face) (2 font-lock-keyword-face)
     (3 font-lock-function-name-face))
   "\\_<\\(\\(end[ \t]*\\)?block[ \t]*data\\|contains\\)\\_>"
   ;; "abstract interface" is F2003.
   '("\\_<abstract[ \t]*interface\\_>" (0 font-lock-keyword-face t)))
  "This does fairly subdued highlighting of comments and function calls.")