[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/sweeprolog 0f86b23be9 080/166: ENHANCED: emit Prolog messa
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/sweeprolog 0f86b23be9 080/166: ENHANCED: emit Prolog messages with color coding |
Date: |
Fri, 30 Sep 2022 04:59:28 -0400 (EDT) |
branch: elpa/sweeprolog
commit 0f86b23be97990614f2f0fa582f3a60371df34b1
Author: Eshel Yaron <me@eshelyaron.com>
Commit: Eshel Yaron <me@eshelyaron.com>
ENHANCED: emit Prolog messages with color coding
---
sweep.el | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
sweep.pl | 13 +++++++------
2 files changed, 69 insertions(+), 7 deletions(-)
diff --git a/sweep.el b/sweep.el
index a1d08b0491..e6790d52c2 100644
--- a/sweep.el
+++ b/sweep.el
@@ -122,6 +122,47 @@ is used to find a the swipl executable."
(require 'sweep-module))
(error "Sweep will not work until `sweep-module' is compiled!"))))
+
+(defface sweep-debug-prefix-face
+ '((default :inherit shadow))
+ "Face used to highlight the \"DEBUG\" message prefix."
+ :group 'sweep-faces)
+
+(defvar sweep-debug-prefix-face 'sweep-debug-prefix-face
+ "Name of the face used to highlight the \"DEBUG\" message prefix.")
+
+(defface sweep-debug-topic-face
+ '((default :inherit shadow))
+ "Face used to highlight the topic in debug messages."
+ :group 'sweep-faces)
+
+(defvar sweep-debug-topic-face 'sweep-debug-topic-face
+ "Name of the face used to highlight the topic in debug messages.")
+
+(defface sweep-info-prefix-face
+ '((default :inherit default))
+ "Face used to highlight the \"INFO\" message prefix."
+ :group 'sweep-faces)
+
+(defvar sweep-info-prefix-face 'sweep-info-prefix-face
+ "Name of the face used to highlight the \"INFO\" message prefix.")
+
+(defface sweep-warning-prefix-face
+ '((default :inherit font-lock-warning-face))
+ "Face used to highlight the \"WARNING\" message prefix."
+ :group 'sweep-faces)
+
+(defvar sweep-warning-prefix-face 'sweep-warning-prefix-face
+ "Name of the face used to highlight the \"WARNING\" message prefix.")
+
+(defface sweep-error-prefix-face
+ '((default :inherit error))
+ "Face used to highlight the \"ERROR\" message prefix."
+ :group 'sweep-faces)
+
+(defvar sweep-error-prefix-face 'sweep-error-prefix-face
+ "Name of the face used to highlight the \"ERROR\" message prefix.")
+
(defun sweep-view-messages ()
"View the log of recent Prolog messages."
(interactive)
@@ -147,7 +188,27 @@ is used to find a the swipl executable."
(with-current-buffer (get-buffer-create sweep-messages-buffer-name)
(save-excursion
(goto-char (point-max))
- (insert message)
+ (let ((kind (car message))
+ (content (cdr message)))
+ (pcase kind
+ (`("debug" . ,topic)
+ (insert (propertize "DEBUG" 'face sweep-debug-prefix-face))
+ (insert "[")
+ (insert (propertize topic 'face sweep-debug-topic-face))
+ (insert "]: ")
+ (insert content))
+ ("informational"
+ (insert (propertize "INFO" 'face sweep-info-prefix-face))
+ (insert ": ")
+ (insert content))
+ ("warning"
+ (insert (propertize "WARNING" 'face sweep-warning-prefix-face))
+ (insert ": ")
+ (insert content))
+ ("error"
+ (insert (propertize "ERROR" 'face sweep-error-prefix-face))
+ (insert ": ")
+ (insert content))))
(newline))))
(defun sweep-start-prolog-server ()
diff --git a/sweep.pl b/sweep.pl
index 7b97502b38..8afce756b9 100644
--- a/sweep.pl
+++ b/sweep.pl
@@ -593,12 +593,13 @@ sweep_setup_message_hook(_, _) :-
sweep_message_hook(Term, Kind, Lines)
)).
-sweep_message_hook(Term, Kind, _Lines) :-
- should_handle_message_kind(Kind),
+sweep_message_hook(Term, Kind0, _Lines) :-
+ should_handle_message_kind(Kind0, Kind),
!,
message_to_string(Term, String),
- sweep_funcall("sweep-message", String, _).
+ sweep_funcall("sweep-message", [Kind|String], _).
-should_handle_message_kind(error).
-should_handle_message_kind(warning).
-should_handle_message_kind(debug(_)).
+should_handle_message_kind(error, "error").
+should_handle_message_kind(warning, "warning").
+should_handle_message_kind(informational, "informational").
+should_handle_message_kind(debug(Topic0), ["debug"|Topic]) :-
atom_string(Topic0, Topic).
- [nongnu] elpa/sweeprolog 9466ce0d59 046/166: ADDED: completion-at-point function in sweep-top-level-mode, (continued)
- [nongnu] elpa/sweeprolog 9466ce0d59 046/166: ADDED: completion-at-point function in sweep-top-level-mode, ELPA Syncer, 2022/09/30
- [nongnu] elpa/sweeprolog 6e9ac379e6 047/166: DOC: Expand top-level documentation section, ELPA Syncer, 2022/09/30
- [nongnu] elpa/sweeprolog 4ecc8ec55f 050/166: Add BSD license, ELPA Syncer, 2022/09/30
- [nongnu] elpa/sweeprolog a26ca14c81 053/166: ENHANCED: show more relevant candidates in top-level completion, ELPA Syncer, 2022/09/30
- [nongnu] elpa/sweeprolog 7fa11fdcdd 055/166: FIXED: hide predicates starting with '$' in sweep-find-predicate, ELPA Syncer, 2022/09/30
- [nongnu] elpa/sweeprolog e70b4aef2f 057/166: ADDED: sweep-file-name-handler, ELPA Syncer, 2022/09/30
- [nongnu] elpa/sweeprolog 10516034be 061/166: ADDED: sweep-indent-line, an indent-line-function for sweep-mode, ELPA Syncer, 2022/09/30
- [nongnu] elpa/sweeprolog face064afa 062/166: ADDED: custom font-lock-fontify-region-function for sweep-mode, ELPA Syncer, 2022/09/30
- [nongnu] elpa/sweeprolog 6363ddef3a 073/166: ADDED: implemented all xref backend callback functions, ELPA Syncer, 2022/09/30
- [nongnu] elpa/sweeprolog 8dc9359dca 082/166: ADDED: sweep-set-prolog-flag for setting Prolog flags, ELPA Syncer, 2022/09/30
- [nongnu] elpa/sweeprolog 0f86b23be9 080/166: ENHANCED: emit Prolog messages with color coding,
ELPA Syncer <=
- [nongnu] elpa/sweeprolog 1f4b1a6dcc 079/166: MODIFIED: use executable-find to locate the swipl executable..., ELPA Syncer, 2022/09/30
- [nongnu] elpa/sweeprolog f772a136e4 081/166: DOC: fix typos, ELPA Syncer, 2022/09/30
- [nongnu] elpa/sweeprolog 75ec7290be 096/166: ADDED: sweep-load-buffer, ELPA Syncer, 2022/09/30
- [nongnu] elpa/sweeprolog 3717572348 091/166: FIXED: handle more missing color terms, ELPA Syncer, 2022/09/30
- [nongnu] elpa/sweeprolog 1744b29cc2 092/166: FIXED: off by one in sweep-colourise-some-terms, ELPA Syncer, 2022/09/30
- [nongnu] elpa/sweeprolog 16d1a380ab 122/166: FIXED: (sweep-beginning-of-top-term): possible infinite loop, ELPA Syncer, 2022/09/30
- [nongnu] elpa/sweeprolog f887a4b3f0 085/166: ENHANCED: provide caller predicate in xref-find-references, ELPA Syncer, 2022/09/30
- [nongnu] elpa/sweeprolog 49214a669b 109/166: PORT: don't depend on pos-bol added in Emacs 29, ELPA Syncer, 2022/09/30
- [nongnu] elpa/sweeprolog 1aefaea2ab 106/166: ADDED: (sweep-find-file-at-point): new function, ELPA Syncer, 2022/09/30
- [nongnu] elpa/sweeprolog ce88557fdc 104/166: DOC: NEWS.org: new file, ELPA Syncer, 2022/09/30