Config modernization: startup tuning, completion polish, new modules#1456
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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:
early-init.elthat bumps the GC threshold during startup (restoring a modest value afterwards), disables the tool bar via frame parameters, setsframe-inhibit-implied-resize, native-compiles packages at install time, and fixes the missingLANGlocale in GUI Emacs on macOS.treesit-language-source-alistso a missing grammar can be installed withM-x treesit-install-language-grammarinstead of hunting down repo URLs.prelude-lsp-clientiseglot, so LSP diagnostics actually show up in the Flycheck UI instead of only through Flymake.Completion stack (
prelude-vertico/prelude-corfu):vertico-directory(RET descends, DEL kills a path component),corfu-history-mode(recency sorting via savehist), and setconsult-narrow-keyto<.C-.,C-;,C-h B). which-key keeps owning prefix help; the Flyspell key overlap is documented.New options and modules:
prelude-spell-checkerto choose Flyspell (default) or jinx.prelude-whitespace-cleanup-styleto choose whole-filewhitespace-cleanup(default) or ws-butler (edited lines only).New
prelude-swift(swift-ts-mode + sourcekit-lsp) andprelude-mistty(pure-elisp terminal) modules.The commits are consistent with our contribution guidelines
You've updated the changelog
You've updated the user manual