From aab5bfd074e57d06a79e39d7c7c4760e1f385a06 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Mon, 17 Oct 2022 21:41:28 -0500 Subject: Bankruptcy 9 --- lisp/+kmacro.el | 70 --------------------------------------------------------- 1 file changed, 70 deletions(-) delete mode 100644 lisp/+kmacro.el (limited to 'lisp/+kmacro.el') diff --git a/lisp/+kmacro.el b/lisp/+kmacro.el deleted file mode 100644 index a3cde61..0000000 --- a/lisp/+kmacro.el +++ /dev/null @@ -1,70 +0,0 @@ -;;; +kmacro.el -*- lexical-binding: t; -*- - -;;; Commentary: - -;; Many of these come from this Reddit thread: -;; https://old.reddit.com/r/emacs/comments/rlli0u/whats_your_favorite_defadvice/ - -;;; Code: - -(require 'kmacro) - -;; Indicate when a kmacro is being recorded in the mode-line - -(defface +kmacro-modeline nil - "Face when kmacro is active") - -(set-face-attribute '+kmacro-modeline nil - :background "Firebrick" - :box '(:line-width -1 :color "salmon" - :style released-button)) - -(defun +kmacro-change-mode-line (&rest _) - "Remap the mode-line face when recording a kmacro." - - (add-to-list 'face-remapping-alist '(mode-line . +kmacro-modeline))) - -(defun +kmacro-restore-mode-line (&rest _) - "Restore the mode-line face after kmacro is done recording." - (setf face-remapping-alist - (assoc-delete-all 'mode-line face-remapping-alist))) - -(define-minor-mode +kmacro-recording-indicator-mode - "Change the mode-line's face when recording a kmacro." - :lighter "" - :global t - (if +kmacro-recording-indicator-mode - (progn - (advice-add #'kmacro-start-macro :before #'+kmacro-change-mode-line) - (advice-add #'kmacro-keyboard-quit :after #'+kmacro-restore-mode-line) - (advice-add #'kmacro-end-macro :after #'+kmacro-restore-mode-line)) - (+kmacro-restore-mode-line) - (advice-remove #'kmacro-start-macro #'+kmacro-change-mode-line) - (advice-remove #'kmacro-keyboard-quit #'+kmacro-restore-mode-line) - (advice-remove #'kmacro-end-macro #'+kmacro-restore-mode-line))) - -;; Undo keyboard macros in a single bound (like vi!) - -(defun +kmacro-block-undo (fn &rest args) - (let ((marker (prepare-change-group))) - (unwind-protect (apply fn args) - (undo-amalgamate-change-group marker)))) - -(define-minor-mode +kmacro-block-undo-mode - "Undo kmacros all at once (like vi)." - :global t - :lighter " KUndo" - (if +kmacro-block-undo-mode - (dolist (fn '(kmacro-call-macro - kmacro-exec-ring-item - dot-mode-execute - apply-macro-to-region-lines)) - (advice-add fn :around #'+kmacro-block-undo)) - (dolist (fn '(kmacro-call-macro - kmacro-exec-ring-item - dot-mode-execute - apply-macro-to-region-lines)) - (advice-remove fn #'+kmacro-block-undo)))) - -(provide '+kmacro) -;;; +kmacro.el ends here -- cgit 1.4.1-21-gabe81