From 83c4b410becb96ea07c25b56426a28d1d390ff24 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Thu, 23 Mar 2017 18:14:53 +0100 Subject: [PATCH] feat(emacs/lean-server): more awesome fringe highlighting --- src/emacs/lean-server.el | 21 ++++++++++++++++----- src/emacs/lean-settings.el | 2 +- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/emacs/lean-server.el b/src/emacs/lean-server.el index 156206f007..d83221a8d8 100644 --- a/src/emacs/lean-server.el +++ b/src/emacs/lean-server.el @@ -216,14 +216,22 @@ (cons beg (point))))))) (defface lean-server-task-face - '((((class color) (background light)) - :background "navajo white") - (((class color) (background dark)) - :background "salmon4") - (t :inverse-video t)) + nil "Face to highlight pending Lean tasks." :group 'lean) +(define-fringe-bitmap 'lean-server-fringe-bitmap + (vector) 16 8) + +(defface lean-server-task-fringe-face + '((((class color) (background light)) + :background "chocolate1") + (((class color) (background dark)) + :background "navajo white") + (t :inverse-video t)) + "Face to highlight the fringe of pending Lean tasks." + :group 'lean) + (defun lean-server-update-task-overlays () (dolist (ov lean-server-task-overlays) (delete-overlay ov)) (setq lean-server-task-overlays nil) @@ -236,6 +244,9 @@ (ov (make-overlay (car reg) (cdr reg)))) (setq lean-server-task-overlays (cons ov lean-server-task-overlays)) (overlay-put ov 'face 'lean-server-task-face) + (overlay-put ov 'line-prefix + (propertize " " 'display + '(left-fringe lean-server-fringe-bitmap lean-server-task-fringe-face))) (overlay-put ov 'help-echo (format "%s..." (plist-get task :desc))))))))) (defun lean-server-toggle-show-pending-tasks () diff --git a/src/emacs/lean-settings.el b/src/emacs/lean-settings.el index 51a604aa11..d5ad7f7f75 100644 --- a/src/emacs/lean-settings.el +++ b/src/emacs/lean-settings.el @@ -88,7 +88,7 @@ false (nil)." :group 'lean :type 'boolean) -(defcustom lean-server-show-pending-tasks nil +(defcustom lean-server-show-pending-tasks t "Highlights pending tasks in the current buffer." :group 'lean :type 'boolean)