[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/beardbolt 6a71a16619 319/323: Simplify rainbow-clearing
From: |
ELPA Syncer |
Subject: |
[elpa] externals/beardbolt 6a71a16619 319/323: Simplify rainbow-clearing logic |
Date: |
Thu, 9 Mar 2023 10:59:00 -0500 (EST) |
branch: externals/beardbolt
commit 6a71a1661938a5992015eb8215485bb0f685a30a
Author: João Távora <joaotavora@gmail.com>
Commit: João Távora <joaotavora@gmail.com>
Simplify rainbow-clearing logic
* beardbolt.el (bb--rainbowize): Call bb-clear-rainbow-overlays.
(bb--delete-rainbow-overlays): Rename to bb-clear-rainbow-overlays.
(bb-clear-rainbow-overlays): New helper.
(bb-mode-map): Bind bb-clear-rainbow-overlays.
(bb--after-change): Call bb-clear-rainbow-overlays.
(bb--asm-mode): Call bb-clear-rainbow-overlays.
---
beardbolt.el | 28 ++++++++++++++++++----------
1 file changed, 18 insertions(+), 10 deletions(-)
diff --git a/beardbolt.el b/beardbolt.el
index 63e839a033..39833d3be1 100644
--- a/beardbolt.el
+++ b/beardbolt.el
@@ -436,7 +436,7 @@ some parts of the buffer and setup a buffer-local value of
(setq reachable-label nil)))))))
(cl-defun bb--rainbowize (src-buffer)
- (bb--delete-rainbow-overlays)
+ (bb-clear-rainbow-overlays)
(let* ((background-hsl
(ignore-errors
(apply #'color-rgb-to-hsl (color-name-to-rgb (face-background
'default)))))
@@ -508,14 +508,20 @@ some parts of the buffer and setup a buffer-local value of
(let ((b (cl-gensym)))
`(let ((,b ,buf)) (if (buffer-live-p ,b) (with-current-buffer ,b
,@body)))))
-(defun bb--delete-rainbow-overlays ()
- (bb--when-live-buffer bb--source-buffer
- (save-restriction
- (widen)
- (cl-loop for o in (overlays-in (point-min) (point-max))
- when (overlay-get o 'beardbolt) do (delete-overlay o))))
- (mapc #'delete-overlay bb--rainbow-overlays)
- (setq bb--rainbow-overlays nil))
+(defun bb-clear-rainbow-overlays ()
+ "Clear rainbow from the source file and asm output."
+ (interactive)
+ (let ((output-buffer (if (eq major-mode 'bb--asm-mode)
+ (current-buffer)
+ bb--asm-buffer)))
+ (bb--when-live-buffer output-buffer
+ (bb--when-live-buffer bb--source-buffer
+ (save-restriction
+ (widen)
+ (cl-loop for o in (overlays-in (point-min) (point-max))
+ when (overlay-get o 'beardbolt) do (delete-overlay o)))))
+ (mapc #'delete-overlay bb--rainbow-overlays)
+ (setq bb--rainbow-overlays nil)))
;;;;; Handlers
(cl-defun bb--handle-finish-compile (compilation-buffer str)
@@ -620,6 +626,7 @@ determine LANG from `major-mode'."
(defvar bb-mode-map
(let ((map (make-sparse-keymap)))
(define-key map (kbd "C-c C-c") #'bb-compile)
+ (define-key map (kbd "C-c C-d") #'bb-clear-rainbow-overlays)
map)
"Keymap for function `bb-mode'.")
@@ -695,6 +702,7 @@ With prefix argument, choose from starter files in
`bb-starter-files'."
(defvar bb--change-timer nil)
(defun bb--after-change (&rest _)
+ (bb-clear-rainbow-overlays)
(when bb-compile-delay
(when (timerp bb--change-timer) (cancel-timer bb--change-timer))
(setq bb--change-timer
@@ -733,7 +741,7 @@ With prefix argument, choose from starter files in
`bb-starter-files'."
(define-derived-mode bb--asm-mode asm-mode "⚡asm ⚡"
"Toggle `bearbolt--output-mode', internal mode for asm buffers."
- (add-hook 'kill-buffer-hook #'bb--delete-rainbow-overlays nil t)
+ (add-hook 'kill-buffer-hook #'bb-clear-rainbow-overlays nil t)
(add-hook 'post-command-hook #'bb--synch-relation-overlays nil t)
(setq truncate-lines t)
(read-only-mode t)
- [elpa] externals/beardbolt 60fa7a3c05 280/323: Force asm output to be of a certain format, (continued)
- [elpa] externals/beardbolt 60fa7a3c05 280/323: Force asm output to be of a certain format, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt b2dc0eb81d 284/323: Make beardbolt-disassemble work again, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 730ea84796 290/323: bb-compile-delay can be nil, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 2c798336b8 292/323: Tweak README.md, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt c05a0be490 297/323: Add useful beardbolt-preserve-library-functions, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 26c0b918e4 301/323: Tweak README.md again, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt e1e69080b7 303/323: Rename "output buffer" -> "asm buffer", ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt dbafc4a88c 304/323: Minor cleanup, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 68469cfb57 306/323: More misc minor rework to simplify code, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 02a0bfbcdb 313/323: Add `beardbolt-ccj-extra-flags` option, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 6a71a16619 319/323: Simplify rainbow-clearing logic,
ELPA Syncer <=
- [elpa] externals/beardbolt e403331350 322/323: * beardbolt.el (bb--synch-relation-overlays): Fix bug., ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 4a6f289c94 002/323: Add very basic compilation of c files, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt ac893146e3 019/323: Force dissasembly if we don't support asm, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt f30a05624d 051/323: Add support for parsing .file directives, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 865d5a8c1a 111/323: Clean up CI config, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 7f61815c17 121/323: Try to fix bytecode issues, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt e517cd4dbc 142/323: Remove unneeded disass-hidden-funcs overrides, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt f89875215b 128/323: Fix byte-compilation warnings, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt cb0b781e82 143/323: Add rudimentary support for hack/hhvm, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 4f86bae37e 144/323: Add rmsbolt-asm-format for toggling between asm formats., ELPA Syncer, 2023/03/09