diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-14 08:30:47 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-14 08:30:47 -0500 |
| commit | fcdea7f0fcc20b1980ee0ee3fc0ba6159c0cf86e (patch) | |
| tree | 6e14eda9ed6dd467327ebb741650fd5ae5ee2d01 /modules | |
| parent | 623f45f2781ed6c489672dcfb09d877657dbe1da (diff) | |
| download | dotemacs-fcdea7f0fcc20b1980ee0ee3fc0ba6159c0cf86e.tar.gz dotemacs-fcdea7f0fcc20b1980ee0ee3fc0ba6159c0cf86e.zip | |
refactor(org-config): flatten table ops directly under the org menu
Drop the `T' sub-prefix so table operations sit directly under
`C-; O': `O r i' / `O r d' for rows, `O c i' / `O c d' for columns.
Move `cj/org-clear-element-cache' from `c' (which now hosts the
table-column sub-prefix) to capital `C'. Single-key org commands
under this menu live on capitals from here on so the lowercase
letters stay free for table sub-prefixes.
Drop `cj/org-table-map' entirely -- its bindings now live directly
on `cj/org-map'. Three tests in `test-org-config-keymap-ownership.el'
updated/added: `C' for clear-cache, plus row and column binding
assertions.
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/org-config.el | 31 |
1 files changed, 14 insertions, 17 deletions
diff --git a/modules/org-config.el b/modules/org-config.el index e13dc59f..8c2dc646 100644 --- a/modules/org-config.el +++ b/modules/org-config.el @@ -126,15 +126,13 @@ :ensure nil ;; use the built-in package :pin manual ;; never upgrade from the version built-into Emacs :init - (defvar-keymap cj/org-table-map - :doc "org table operations.") - (defvar-keymap cj/org-map :doc "General org-mode operations and utilities.") (keymap-set cj/custom-keymap "O" cj/org-map) - ;; Table operations live under the org menu (was at top-level "T", - ;; which collided silently with `cj/transcribe-map'). - (keymap-set cj/org-map "T" cj/org-table-map) + ;; Table operations live directly under the org menu: `r' for row, + ;; `c' for column. Single-key org commands under this prefix use + ;; capitals (e.g. `C' for clear element cache) to leave the + ;; lowercase letters free as table sub-prefixes. :bind ("C-c c" . org-capture) ("C-c a" . org-agenda) @@ -152,7 +150,7 @@ ("<f2>" . org-reveal) ("C-c <ESC>" . widen) ("C-c C-a" . cj/org-appear-toggle)) - (:map cj/org-table-map + (:map cj/org-map ("r i" . org-table-insert-row) ("r d" . org-table-kill-row) ("c i" . org-table-insert-column) @@ -291,7 +289,7 @@ the current buffer's cache. Useful when encountering parsing errors like (org-element-cache-reset 'all) (message "Cleared org-element cache for all buffers"))) -(keymap-set cj/org-map "c" #'cj/org-clear-element-cache) +(keymap-set cj/org-map "C" #'cj/org-clear-element-cache) ;; ----------------------- Org Multi-Level Sorting ----------------------------- @@ -323,15 +321,14 @@ status to preserve priority ordering within TODO groups." (which-key-add-key-based-replacements ;; org general operations "C-; O" "org menu" - "C-; O c" "clear element cache" - ;; org table operations (under the org menu) - "C-; O T" "org table menu" - "C-; O T r" "table row" - "C-; O T r i" "insert row" - "C-; O T r d" "delete row" - "C-; O T c" "table column" - "C-; O T c i" "insert column" - "C-; O T c d" "delete column" + "C-; O C" "clear element cache" + ;; org table operations (live directly under the org menu) + "C-; O r" "table row" + "C-; O r i" "insert row" + "C-; O r d" "delete row" + "C-; O c" "table column" + "C-; O c i" "insert column" + "C-; O c d" "delete column" ;; org global bindings "C-c a" "org agenda" "C-c c" "org capture" |
