emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/sweeprolog e2cf80d0a8 3/4: New user-option to controlling


From: ELPA Syncer
Subject: [nongnu] elpa/sweeprolog e2cf80d0a8 3/4: New user-option to controlling highlighting of holes
Date: Tue, 22 Nov 2022 15:59:41 -0500 (EST)

branch: elpa/sweeprolog
commit e2cf80d0a82ba43d3f89570f71ddf2b685d6a8e8
Author: Eshel Yaron <me@eshelyaron.com>
Commit: Eshel Yaron <me@eshelyaron.com>

    New user-option to controlling highlighting of holes
    
    * sweeprolog.el (sweeprolog-highlight-holes): new user-option.
    (sweeprolog-analyze-fragment-to-faces): respect it.
---
 sweeprolog.el | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

diff --git a/sweeprolog.el b/sweeprolog.el
index 767c45670f..282d26bad9 100644
--- a/sweeprolog.el
+++ b/sweeprolog.el
@@ -338,6 +338,13 @@ non-terminals)."
   :type 'string
   :group 'sweeprolog-top-level)
 
+(defcustom sweeprolog-highlight-holes t
+  "If non-nil, highlight holes in a dedicated faces."
+  :package-version '((sweeprolog "0.8.12"))
+  :type 'boolean
+  :group 'sweeprolog)
+
+
 ;;;; Keymaps
 
 (defvar sweeprolog-mode-map
@@ -1812,7 +1819,8 @@ resulting list even when found in the current clause."
      (list (list beg end (sweeprolog-recursion-face))))
     (`("goal" "meta"      . ,_)
      (cons (list beg end (sweeprolog-meta-face))
-           (when (get-text-property beg 'sweeprolog-hole)
+           (when (and sweeprolog-highlight-holes
+                      (get-text-property beg 'sweeprolog-hole))
              (list (list beg end (sweeprolog-hole-face))))))
     (`("goal" "built_in"  . ,_)
      (list (list beg end (sweeprolog-built-in-face))))
@@ -1889,7 +1897,11 @@ resulting list even when found in the current clause."
     ("int"
      (list (list beg end (sweeprolog-int-face))))
     ("singleton"
-     (list (list beg end (sweeprolog-singleton-face))))
+     (if (get-text-property beg 'sweeprolog-hole)
+         (cons (list beg end (sweeprolog-variable-face))
+               (when sweeprolog-highlight-holes
+                 (list (list beg end (sweeprolog-hole-face)))))
+       (list (list beg end (sweeprolog-singleton-face)))))
     ("option_name"
      (list (list beg end (sweeprolog-option-name-face))))
     ("no_option_name"
@@ -1898,7 +1910,8 @@ resulting list even when found in the current clause."
      (list (list beg end (sweeprolog-control-face))))
     ("var"
      (cons (list beg end (sweeprolog-variable-face))
-           (when (get-text-property beg 'sweeprolog-hole)
+           (when (and sweeprolog-highlight-holes
+                      (get-text-property beg 'sweeprolog-hole))
              (list (list beg end (sweeprolog-hole-face))))))
     ("fullstop"
      (save-excursion



reply via email to

[Prev in Thread] Current Thread [Next in Thread]