summaryrefslogtreecommitdiff
path: root/modules/custom-case.el
AgeCommit message (Collapse)Author
20 hourstest: add 86 new tests, fix 3 production bugs, fix 8 stale testsCraig Jennings
New test coverage (86 tests across 7 files): - custom-case: 43 tests (title-case-region, upcase-dwim, downcase-dwim) - custom-datetime: 10 tests (all insert methods with mocked time) - config-utilities: 11 tests (format-build-time type branching) - org-capture-config: 22 tests (date-prefix + event-content) Production bugs found and fixed: - custom-case: title-case-region crashes on whitespace/punctuation-only input (char-after returns nil when no word chars found) - org-capture-config: browser branch missing empty-string guard on :initial plist value, producing stray newline in capture output - mousetrap-mode: keymap never registered in minor-mode-map-alist, so mode was silently not blocking any mouse events. Now pushes/removes on toggle. Additional fixes: - local-repository: fix cons cell syntax bug in localrepo-initialize (was calling vars as functions instead of using cons) - dupre-theme tests: update rainbow-delimiter color expectations - mousetrap tests: update dashboard profile (primary-click → scroll+primary) - music completion test: bind completion-ignore-case to prevent pollution - Delete redundant interactive recording test (duplicate of ERT version) Refactoring: - org-capture-config: extract cj/org-capture--date-prefix pure function from cj/org-capture-format-event-headline for testability Test checklist: todo.org updated to [11/25], removed untestable modules
2025-10-27feat:which-key: Add descriptive labels for custom keymapsCraig Jennings
Enhance which-key integration by providing detailed descriptions for new key bindings across multiple modules. This improves the usability of custom keymaps by clarifying the purpose of each keybinding, making it easier for users to navigate and understand different menus and options available within the configuration. This update ensures that all custom keymaps now display a descriptive label in the which-key popup to explain their functionality, aiding users in identifying keymap purposes promptly.
2025-10-22feat: undead-buffers: Add `cj/make-buffer-undead` function and testsCraig Jennings
Introduce a new function `cj/make-buffer-undead` that appends a buffer name to the `cj/undead-buffer-list`, preventing it from being killed. This comes along with a suite of tests to check various scenarios and edge cases for handling undead buffers. Additionally, add tests for related functions: `cj/kill-buffer-or-bury-alive`, `cj/kill-buffer-and-window`, and others to ensure they correctly manage buffers, particularly with undead-status considerations. Refactor `undead-buffer-list` naming for consistency and clarity in the module.
2025-10-20refactor(keybindings): Use keymap-global-set for remapCraig Jennings
Update the keybinding remap for `capitalize-region` to use `keymap-global-set` instead of `global-set-key`.
2025-10-20fix(custom-case): Correct eval-when-compile for custom-keymapCraig Jennings
Address an issue by defining `cj/custom-keymap` within eval-when-compile, ensuring proper compilation without loading the whole damn `keybindings` file.
2025-10-18maint: custom-case: added commentaryCraig Jennings
2025-10-16refactor: keybindings: Enhance case-change operations keymapCraig Jennings
- Transitioned to `defvar-keymap` for a clearer keymap definition. - Updated keybinding setup to use `keymap-set`. - Added keybindings dependency check with eval-when-compile.
2025-10-12maint: remaining custom functions grouped into separate modulesCraig Jennings