Skip to content

Config modernization: startup tuning, completion polish, new modules#1456

Merged
bbatsov merged 8 commits into
masterfrom
prelude-config-modernization
Jul 18, 2026
Merged

Config modernization: startup tuning, completion polish, new modules#1456
bbatsov merged 8 commits into
masterfrom
prelude-config-modernization

Conversation

@bbatsov

@bbatsov bbatsov commented Jul 18, 2026

Copy link
Copy Markdown
Owner

A batch of improvements backported from my personal Emacs config, all kept opt-in or default-preserving so existing users see no change unless they flip a new option or enable a new module.

Startup and defaults:

  • New early-init.el that bumps the GC threshold during startup (restoring a modest value afterwards), disables the tool bar via frame parameters, sets frame-inhibit-implied-resize, native-compiles packages at install time, and fixes the missing LANG locale in GUI Emacs on macOS.
  • Populate treesit-language-source-alist so a missing grammar can be installed with M-x treesit-install-language-grammar instead of hunting down repo URLs.
  • Bridge Eglot diagnostics into Flycheck (via flycheck-eglot) when prelude-lsp-client is eglot, so LSP diagnostics actually show up in the Flycheck UI instead of only through Flymake.

Completion stack (prelude-vertico / prelude-corfu):

  • Enable vertico-directory (RET descends, DEL kills a path component), corfu-history-mode (recency sorting via savehist), and set consult-narrow-key to <.
  • Add Embark and embark-consult (C-., C-;, C-h B). which-key keeps owning prefix help; the Flyspell key overlap is documented.

New options and modules:

  • prelude-spell-checker to choose Flyspell (default) or jinx.

  • prelude-whitespace-cleanup-style to choose whole-file whitespace-cleanup (default) or ws-butler (edited lines only).

  • New prelude-swift (swift-ts-mode + sourcekit-lsp) and prelude-mistty (pure-elisp terminal) modules.

  • The commits are consistent with our contribution guidelines

  • You've updated the changelog

  • You've updated the user manual

bbatsov added 8 commits July 18, 2026 17:06
Raise the GC threshold during startup and restore a modest value
afterwards, disable the tool bar via frame parameters, inhibit implied
frame resizing, native-compile packages at install time, and fix the
missing LANG locale in GUI Emacs on macOS.
Populate treesit-language-source-alist so users can install any
missing grammar with treesit-install-language-grammar, and prefer the
newer eglot-events-buffer-config over the obsolete
eglot-events-buffer-size.
When eglot is the LSP client, install flycheck-eglot on demand and
enable global-flycheck-eglot-mode so LSP diagnostics reach Prelude's
Flycheck UI (eglot otherwise reports only through Flymake).
Enable vertico-directory (RET descends, DEL kills a path component),
corfu-history-mode (recency sorting, persisted via savehist), and set
consult-narrow-key to < for group narrowing.
New prelude-spell-checker defcustom selects flyspell (default) or
jinx. When jinx is chosen it's installed on demand and enabled as a
single global mode, and the per-buffer flyspell hooks stand down.
New prelude-whitespace-cleanup-style defcustom selects
whitespace-cleanup (default, whole file) or ws-butler (edited lines
only), the latter installed on demand and enabled per buffer.
Swift support via swift-ts-mode + sourcekit-lsp, and a MisTTY-based
terminal module (pure elisp, rebinds C-c t). Register both in the
sample module list, installation docs, per-module doc pages and the
mkdocs nav.
Bind embark-act (C-.), embark-dwim (C-;) and embark-bindings (C-h B),
plus embark-consult for exporting consult results into editable
grep/occur buffers. Leave prefix-help-command to which-key and note
the Flyspell key overlap in the docs.
@bbatsov
bbatsov merged commit 5e806d9 into master Jul 18, 2026
4 checks passed
@bbatsov
bbatsov deleted the prelude-config-modernization branch July 18, 2026 14:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant