branch: elpa/rainbow-delimiters
commit cc829473bec2ed78cb1932ebea3626bd9cc53404
Author: Fanael Linithien <[email protected]>
Commit: Fanael Linithien <[email protected]>
Deprecate rainbow-delimiters-delimiter-blacklist.
rainbow-delimiters-pick-face-function offers a superset of its
functionality.
---
rainbow-delimiters-test.el | 36 +++++++++++++++++++++---------------
rainbow-delimiters.el | 22 ++++++++++------------
2 files changed, 31 insertions(+), 27 deletions(-)
diff --git a/rainbow-delimiters-test.el b/rainbow-delimiters-test.el
index af2e6268c2..7f8ab7d647 100644
--- a/rainbow-delimiters-test.el
+++ b/rainbow-delimiters-test.el
@@ -188,10 +188,6 @@
0 1 (face (rainbow-delimiters-depth-1-face))
1 2 (face (rainbow-delimiters-mismatched-face))))))))
-(ert-deftest doesnt-highlighlight-disabled-delimiters ()
- (let ((rainbow-delimiters-delimiter-blacklist '(?\( ?\))))
- (should-do-nothing 'text-mode "(((())))")))
-
(ert-deftest doesnt-highlight-escaped-delimiters ()
(with-temp-buffer-in-mode 'emacs-lisp-mode
(with-string (str "(bar ?\\( (foo?))")
@@ -252,19 +248,9 @@
7 8 (face (rainbow-delimiters-depth-1-face diff-added))
8 9 (face diff-added)))))))
-(ert-deftest blacklisted-contribute-to-depth ()
- (let ((rainbow-delimiters-delimiter-blacklist '(?\( ?\))))
- (with-temp-buffer-in-mode 'text-mode
- (with-string (str "([])")
- (should (ert-equal-including-properties
- (buffer-string)
- #("([])"
- 1 2 (face (rainbow-delimiters-depth-2-face))
- 2 3 (face (rainbow-delimiters-depth-2-face)))))))))
-
(ert-deftest can-customize-face-picker ()
(let ((rainbow-delimiters-pick-face-function
- (lambda (_depth _loc _match)
+ (lambda (_depth _match _loc)
'font-lock-keyword-face)))
(with-temp-buffer-in-mode 'emacs-lisp-mode
(with-string (str "(())")
@@ -276,5 +262,25 @@
2 3 (face (font-lock-keyword-face))
3 4 (face (font-lock-keyword-face)))))))))
+(ert-deftest face-picker-can-disable-highlighting ()
+ (let ((rainbow-delimiters-pick-face-function
+ (lambda (depth match loc)
+ (unless (memq (char-after loc) '(?\( ?\)))
+ (rainbow-delimiters-default-pick-face depth match loc)))))
+ (should-do-nothing 'text-mode "(((())))")))
+
+(ert-deftest delimiters-disabled-by-face-picker-contribute-to-depth ()
+ (let ((rainbow-delimiters-pick-face-function
+ (lambda (depth match loc)
+ (unless (memq (char-after loc) '(?\( ?\)))
+ (rainbow-delimiters-default-pick-face depth match loc)))))
+ (with-temp-buffer-in-mode 'text-mode
+ (with-string (str "([])")
+ (should (ert-equal-including-properties
+ (buffer-string)
+ #("([])"
+ 1 2 (face (rainbow-delimiters-depth-2-face))
+ 2 3 (face (rainbow-delimiters-depth-2-face)))))))))
+
(provide 'rainbow-delimiters-test)
;;; rainbow-delimiters-test.el ends here
diff --git a/rainbow-delimiters.el b/rainbow-delimiters.el
index 5608652dd8..a919a1b6be 100644
--- a/rainbow-delimiters.el
+++ b/rainbow-delimiters.el
@@ -90,12 +90,13 @@ When depth exceeds innermost defined face, colors cycle
back through."
:prefix "rainbow-delimiters-")
(defcustom rainbow-delimiters-delimiter-blacklist '()
- "Disable highlighting of selected delimiters.
-
-Delimiters in this list are not highlighted."
- :tag "Delimiter Blacklist"
- :type '(repeat character)
+ "Unused variable pending removal.
+To prevent highlighting of certain delimiters, use
+`rainbow-delimiters-pick-face-function' instead."
:group 'rainbow-delimiters)
+(make-obsolete-variable 'rainbow-delimiters-delimiter-blacklist
+ 'rainbow-delimiters-pick-face-function
+ "2.1")
(defcustom rainbow-delimiters-pick-face-function
#'rainbow-delimiters-default-pick-face
@@ -193,13 +194,10 @@ The returned value is either
`rainbow-delimiters-unmatched-face',
LOC is the location of the character to add text properties to.
DEPTH is the nested depth at LOC, which determines the face to use.
-MATCH is nil iff it's a mismatched closing delimiter.
-
-The delimiter is not highlighted if it's a blacklisted delimiter."
- (unless (memq (char-after loc) rainbow-delimiters-delimiter-blacklist)
- (let ((face (funcall rainbow-delimiters-pick-face-function depth match
loc)))
- (when face
- (font-lock-prepend-text-property loc (1+ loc) 'face face)))))
+MATCH is nil iff it's a mismatched closing delimiter."
+ (let ((face (funcall rainbow-delimiters-pick-face-function depth match loc)))
+ (when face
+ (font-lock-prepend-text-property loc (1+ loc) 'face face))))
(defun rainbow-delimiters--char-ineligible-p (loc ppss delim-syntax-code)
"Return t if char at LOC should not be highlighted.