"Move forward through whitespace and comments."
(while (forward-comment 1)))
+(defsubst context-coloring-elisp-colorize-comments-and-strings
+ (&optional min max)
+ "Color comments and strings from MIN to MAX."
+ (context-coloring-colorize-comments-and-strings min max t))
+
(defsubst context-coloring-elisp-forward-sws ()
"Move through whitespace and comments, coloring comments."
(let ((start (point)))
(context-coloring-forward-sws)
- (context-coloring-colorize-comments-and-strings start (point))))
+ (context-coloring-elisp-colorize-comments-and-strings start (point))))
(defsubst context-coloring-elisp-forward-sexp ()
"Skip/ignore missing sexps, coloring comments and strings."
(context-coloring-elisp-increment-sexp-count)
(let ((start (point)))
(forward-sexp)
- (context-coloring-colorize-comments-and-strings start (point))))
+ (context-coloring-elisp-colorize-comments-and-strings start (point))))
;; Elisp has whitespace, words, symbols, open/close parenthesis, expression
;; prefix, string quote, comment starters/enders and escape syntax classes only.
"Color a string according to STATE."
(if (nth 3 state) font-lock-string-face nil))
-(defsubst context-coloring-colorize-comments-and-strings (&optional min max)
+(defsubst context-coloring-colorize-comments-and-strings (&optional min max keywords-p)
"Maybe color comments and strings in buffer from MIN to MAX.
-MIN defaults to beginning of buffer. MAX defaults to end."
+MIN defaults to beginning of buffer. MAX defaults to end. If
+KEYWORDS-P is non-nil, also color keywords from MIN to MAX."
(when (or context-coloring-syntactic-comments
context-coloring-syntactic-strings)
(let ((min (or min (point-min)))
font-lock-syntactic-face-function))))
(save-excursion
(font-lock-fontify-syntactically-region min max)
- ;; TODO: Make configurable at the dispatch level.
- (when (eq major-mode 'emacs-lisp-mode)
+ (when keywords-p
(font-lock-fontify-keywords-region min max))))))
(defcustom context-coloring-initial-level 0