aboutsummaryrefslogtreecommitdiff
path: root/modules/flyspell-and-abbrev.el
Commit message (Collapse)AuthorAgeFilesLines
* docs(load-graph): classify domain, integration, and optional modulesCraig Jennings12 days1-1/+9
| | | | | | | | | | Eighth classification batch: 17 domain/integration/optional modules — ai-config, ai-vterm, browser-config, calendar-sync, calibredb-epub-config, chrono-tools, dirvish-config, dwim-shell-config, erc-config, eshell-config, eww-config, flyspell-and-abbrev, games-config, gloss-config, httpd-config, jumper, latex-config. I annotated each header, added a Batch 8 table to the inventory, and extended the validation allowlist. 82 of 102 modules are now classified. Almost all are eager only by init order and become command/hook/mode-loaded. calendar-sync stays eager when its .local.el is present. One new hidden dependency: calendar-sync guards its C-; g registration with a boundp shim and doesn't require keybindings, so the binding drops standalone. I deferred elfeed-config rather than annotate it. Its header edit triggers byte-compilation, and the existing tests only pass when the module loads as interpreted source — the compiled cj/elfeed-process-entries inlines an elfeed struct accessor the stubs can't intercept, and the batch test environment has no elfeed package to build real structs. It needs its tests rewritten first, recorded in the inventory and a new todo task. Also made the header allowlist scoping test durable: it used games-config (now classified) as its unclassified example; switched to a sentinel name plus a duplicate-entry guard.
* refactor(custom-editing): five hygiene fixes from the module-by-module re-reviewCraig Jennings2026-05-161-12/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Guard `cj/duplicate-line-or-region' when COMMENT is non-nil but the current mode has no `comment-start' (e.g. fundamental-mode). Previously the function silently produced malformed output via `comment-region'; now it signals a clear `user-error'. - Factor the `find-file' advice install in external-open.el into `cj/external-open-install-advice'. Same idempotent shape (remove-then-add) but the intent is named. - Add `cj/--validate-decoration-char' in custom-comments.el and wire it into all six divider / border / box helpers. Rejects multi-char strings, empty strings, and control characters like newline/tab that would corrupt subsequent `M-q' flows. Updated the five nil-decoration ERT tests from `:type 'wrong-type-argument' (the old crash signal from `string-to-char' on nil) to `:type 'user-error', since the validator produces a clear message instead of a deep crash. - Extract `cj/--require-spell-checker' in flyspell-and-abbrev.el. Both `cj/flyspell-toggle' and `cj/flyspell-then-abbrev' now call the shared helper; the checker list lives in `cj/--spell-checker-executables', so adding nuspell or any other checker is a one-line edit. - Preserve trailing newlines in custom-ordering output. Both `cj/--arrayify' and `cj/--unarrayify' now detect a trailing newline on the input region and re-append it to the result, matching the pattern custom-text-enclose.el already uses.
* fix: Resolve flyspell keybinding and mu4e sent folder sync issuesCraig Jennings2025-11-081-3/+8
| | | | | | | | | | | | | | | | | | | | Two Method 1 quick wins shipped: 1. Fixed cj/flyspell-then-abbrev keybinding in org-mode - Autoload cookies were comments and never executed - Added explicit keybinding setup when module loads - Override org-mode's C-' binding (org-cycle-agenda-files) - Both C-' and C-c f now work in all buffers 2. Fixed mu4e sent folder not syncing (cmail account) - Root cause: mbsync aborted on Drafts errors before Sent - Changed ~/.mbsyncrc to explicit channels (like Gmail) - Synced 136 missing sent messages (May-Nov 7) - Now syncs 6 folders independently Files modified: - modules/flyspell-and-abbrev.el: Fixed keybindings (lines 235-251) - todo.org: Marked 2 tasks complete with documentation
* feat:which-key: Add descriptive labels for custom keymapsCraig Jennings2025-10-271-0/+6
| | | | | | | | | | | | 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.
* chore: Remove redundant autoload directives from modulesCraig Jennings2025-10-261-2/+0
| | | | | | | Remove unnecessary autoload directives from various functions across multiple modules, cleaning up the codebase and improving readability. These directives were redundant and not needed for the current project setup.
* feat:flyspell: Enhance spell check flow and abbrev integrationCraig Jennings2025-10-201-109/+141
| | | | | | | | | | | Refactor flyspell and abbrev functionalities to improve spell checking workflow. Key changes include detailed workflow documentation, manual activation of flyspell, deferred configuration for abbrev, and enhanced correction process. This update introduces automatic abbrev creation for corrected misspellings, significantly increasing typing speed over time. Additional changes include command simplification and updated keybindings for a more streamlined user experience.
* refactor: created specific org-dir variable for ~/sync/orgCraig Jennings2025-10-181-1/+1
|
* bug: flyspell: move unmap C-; command to after flyspell loadsCraig Jennings2025-10-161-0/+2
| | | | "C-;" is used for the custom-keymap prefix, but flyspell also grabs it when loaded. Since Flyspell-mode-map will override it locally when launched, I unset the keybinding after launch in :config
* changing repositoriesCraig Jennings2025-10-121-0/+211