From ca96c41bcbfcacec1f9737cc244a01b45f404b41 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Thu, 16 Oct 2025 02:08:14 -0500 Subject: refactor: keybindings: Enhance case-change operations keymap - Transitioned to `defvar-keymap` for a clearer keymap definition. - Updated keybinding setup to use `keymap-set`. - Added keybindings dependency check with eval-when-compile. --- modules/custom-case.el | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/modules/custom-case.el b/modules/custom-case.el index 6baffeb7..e7403d4a 100644 --- a/modules/custom-case.el +++ b/modules/custom-case.el @@ -5,6 +5,8 @@ ;;; Code: +(eval-when-compile (require 'keybindings)) + (defun cj/upcase-dwim () "Upcase the active region, or upcase the symbol at point if no region." (interactive) @@ -93,16 +95,17 @@ and all articles are considered minor words." (insert c-up)))))) (goto-char word-end) (setq is-first nil)))))) + ;; replace the capitalize-region keybinding to call title-case (global-set-key [remap capitalize-region] 'cj/title-case-region) ;; Case-change operations prefix and keymap -(define-prefix-command 'cj/case-map nil - "Keymap for case-change operations.") -(define-key cj/custom-keymap "c" 'cj/case-map) -(define-key cj/case-map "t" 'cj/title-case-region) -(define-key cj/case-map "u" 'cj/upcase-dwim) -(define-key cj/case-map "l" 'cj/downcase-dwim) ;; for "lower" case +(defvar-keymap cj/case-map + :doc "Keymap for case-change operations." + "t" #'cj/title-case-region + "u" #'cj/upcase-dwim + "l" #'cj/downcase-dwim) +(keymap-set cj/custom-keymap "c" cj/case-map) (provide 'custom-case) ;;; custom-case.el ends here. -- cgit v1.2.3