summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2025-10-16 02:08:14 -0500
committerCraig Jennings <c@cjennings.net>2025-10-16 02:08:14 -0500
commitca96c41bcbfcacec1f9737cc244a01b45f404b41 (patch)
treef71ac5bd8ceaf6d703b0a4691ef3811410cfc176 /modules
parente8e76382f191325e15f8217880dee335f0e8003a (diff)
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.
Diffstat (limited to 'modules')
-rw-r--r--modules/custom-case.el15
1 files 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.