blob: f3e6827edb38f41799e1593cfd82da2ca1d511e7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
;; -*- lexical-binding: t; -*-
;; (defun face-at-point ()
;; (get-char-property (point) 'face))
(defmacro with-ess-toggled-font-lock-keyword (enable keywords &rest body)
(declare (indent 2)
(debug (&rest form)))
`(progn
(let* ((enable ,enable)
(keywords ,keywords)
(keywords (if (listp keywords)
keywords
(list keywords)))
toggled)
(mapc (lambda (kw)
(if (not (eq enable (cdr (assq kw ess-R-font-lock-keywords))))
(progn
(ess-font-lock-toggle-keyword kw)
(push kw toggled))))
keywords)
,@body
(mapc #'ess-font-lock-toggle-keyword
toggled))))
(defmacro with-ess-disabled-font-lock-keyword (keywords &rest body)
(declare (indent 1)
(debug (&rest form)))
`(with-ess-toggled-font-lock-keyword nil ,keywords ,@body))
(defmacro with-ess-enabled-font-lock-keyword (keywords &rest body)
(declare (indent 1)
(debug (&rest form)))
`(with-ess-toggled-font-lock-keyword t ,keywords ,@body))
|