From f4ec66ca046b3ffff791e74874eef3f235ae5634 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Mon, 6 Sep 2021 23:48:32 -0500 Subject: Repeat-key ... stuff ... A frustrating, confusing bug --- init.el | 112 +++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 58 insertions(+), 54 deletions(-) diff --git a/init.el b/init.el index ba9ca9e..334526e 100644 --- a/init.el +++ b/init.el @@ -62,7 +62,10 @@ AKA, DO NOT USE THIS FUNCTION!!!" (car feature) feature)) (car name)) - name)))))))) + name))))))) + + (:global "C-x o" #'acdw/other-window-or-switch-buffer + "C-x O" #'acdw/other-window-or-switch-buffer-backward)) (setup (:straight-if affe (and (or (executable-find "fd") @@ -382,27 +385,11 @@ AKA, DO NOT USE THIS FUNCTION!!!" "TAB" #'vertico-exit)))) (setup (:straight crux) - (:global "C-x o" #'acdw/other-window-or-switch-buffer - "C-o" #'crux-smart-open-line + (:global "C-o" #'crux-smart-open-line "M-o" #'crux-smart-open-line-above "C-M-\\" #'crux-cleanup-buffer-or-region "C-x 4 t" #'crux-transpose-windows) - (when (fboundp 'repeat-mode) - (defvar other-window-repeat-map (make-sparse-keymap) - "A map for repeating `other-window' keys.") - - (define-key other-window-repeat-map "o" - #'acdw/other-window-or-switch-buffer) - (define-key other-window-repeat-map "O" - (defun acdw/other-window-or-switch-buffer-backward () - (interactive) - (setq repeat-map 'other-window-repeat-map) - (acdw/other-window-or-switch-buffer -1))) - - (put 'acdw/other-window-or-switch-buffer - 'repeat-map 'other-window-repeat-map)) - (crux-reopen-as-root-mode +1)) (setup cursor @@ -453,6 +440,49 @@ AKA, DO NOT USE THIS FUNCTION!!!" (setup debugger (:hook visual-line-mode)) +;; (setup (:straight (define-repeat-map +;; :host nil +;; :repo "https://tildegit.org/acdw/define-repeat-map.el")) + +;; (defun acdw/other-window-or-switch-buffer-backward () +;; (interactive) +;; (setq repeat-map 'other-window-repeat-map) +;; (acdw/other-window-or-switch-buffer -1)) + +;; (define-repeat-map other-window +;; ("o" acdw/other-window-or-switch-buffer +;; "O" acdw/other-window-or-switch-buffer-backward)) + +;; (define-repeat-map case +;; ("c" capitalize-word +;; "u" upcase-dwim +;; "l" downcase-dwim) +;; (:continue "f" forward-word +;; "b" backward-word) +;; (:enter capitalize-dwim +;; upcase-dwim +;; downcase-dwim)) + +;; (define-repeat-map page-navigation +;; ("]" forward-page +;; "[" backward-page)) + +;; (define-repeat-map windmove +;; (;; moving +;; [left] windmove-left +;; [right] windmove-right +;; [up] windmove-up +;; [down] windmove-down +;; ;; swapping +;; [S-left] windmove-swap-states-left +;; [S-right] windmove-swap-states-right +;; [S-up] windmove-swap-states-up +;; [S-down] windmove-swap-states-down)) + +;; (define-repeat-map winner-mode +;; ("/" winner-undo +;; "?" winner-redo))) + (setup dired (:also-load dired-x) (:straight dired-subtree @@ -673,7 +703,6 @@ AKA, DO NOT USE THIS FUNCTION!!!" native-comp-async-report-warnings-errors nil password-cache t password-cache-expiry 3600 ; 5 minutes - read-extended-command-predicate ; emacs 28 set-mark-command-repeat-pop t) (when (fboundp 'command-completion-default-include-p) @@ -687,52 +716,27 @@ AKA, DO NOT USE THIS FUNCTION!!!" (defvar lookup-map (make-sparse-keymap) "A keymap for looking up things.") (global-set-key (kbd "C-c l") lookup-map) - - (:global "M-=" #'count-words - "C-w" #'kill-region-or-backward-word - "C-c c c" #'capitalize-dwim - "C-c c t" #'titlecase-dwim - "C-c c u" #'upcase-dwim - "C-c c l" #'downcase-dwim - "C-c d" #'acdw/insert-iso-date - "M-`" nil) - ;; toggle bindings (defvar toggle-map (make-sparse-keymap) "A keymap for toggling!") (global-set-key (kbd "C-c t") toggle-map) + (:global "M-=" #'count-words + "C-w" #'kill-region-or-backward-word + "C-c d" #'acdw/insert-iso-date + "M-`" nil) + (:with-map toggle-map (:bind "c" #'column-number-mode "l" #'display-line-numbers-mode "d" #'toggle-debug-on-error)) - (defalias 'forward-word-with-case 'forward-word - "Alias for `forward-word' for use in `case-repeat-map'.") - (defalias 'backward-word-with-case 'backward-word - "Alias for `backward-word for use in `case-repeat-map'.") - - (defvar case-repeat-map - (let ((map (make-sparse-keymap))) - (define-key map "c" #'capitalize-word) - (define-key map "u" #'upcase-word) - (define-key map "l" #'downcase-word) - ;; movement - (define-key map "f" #'forward-word-with-case) - (define-key map "b" #'backward-word-with-case) - map) - "A map to repeat word-casing commands. For use with `repeat-mode'.") + (:with-map case-map + (:bind "c" #'capitalize-dwim + "t" #'titlecase-dwim + "u" #'upcase-dwim + "l" #'downcase-dwim)) - (dolist (command '(capitalize-word - capitalize-dwim - upcase-word - upcase-dwim - downcase-word - downcase-dwim - forward-word-with-case - backward-word-with-case)) - (put command 'repeat-map 'case-repeat-map)) - (add-hook 'after-make-frame-functions (defun after-make-frame@maximize (frame) (unless (bound-and-true-p edit-server-frame-p) -- cgit 1.4.1-21-gabe81