diff options
| author | Kévin Le Gouguec <kevin.legouguec@gmail.com> | 2024-02-05 08:20:46 +0100 |
|---|---|---|
| committer | Kévin Le Gouguec <kevin.legouguec@gmail.com> | 2024-02-07 18:04:29 +0100 |
| commit | be59293b62c7ae96097d410b78cf994ecca76257 (patch) | |
| tree | 1fba68d91677fa91edafcb6bfa7aaf85212d329e | |
| parent | 7c34673ed5aae637dc397fadbf7247a4cf9d2d3f (diff) | |
| download | memory-leaks-be59293b62c7ae96097d410b78cf994ecca76257.tar.xz | |
Resume hype
| -rw-r--r-- | reviews/emacs/hype.org | 66 |
1 files changed, 60 insertions, 6 deletions
diff --git a/reviews/emacs/hype.org b/reviews/emacs/hype.org index 747da3d..cf57734 100644 --- a/reviews/emacs/hype.org +++ b/reviews/emacs/hype.org @@ -1,9 +1,22 @@ Emacs's NEWS files are useful as a searchable reference, but they can -be overwhelming as an entry point. In this file, I'm keeping track of -the changes /I/ am excited about. +be overwhelming as an entry point to a new release. In this file, I'm +keeping track of the changes /I/ am excited about. * 30 -** ERC -*** ~visual-line-mode~ integration +** =:core= promotions +*** visual-wrap (was adaptive-wrap): soft & mode-sensitive wrap prefixes +This package enhances the way Emacs displays continuation lines. +Unpacking that word salad of a heading: + +- wrap prefixes :: strings that Emacs prepends to continuation lines; +- soft :: these strings are intangible decoration, not actual buffer + content; +- mode-sensitive :: leverages the mode's [[info:emacs#Adaptive Fill][adaptive-fill settings]] to + determine the "proper" prefix, i.e. the same prefix you would get by + hard-wrapping with =M-q=. +*** which-key: key binding discovery (bug#68929) +** Applications +*** ERC +**** ~visual-line-mode~ integration In previous versions, I would take =fill= off ~erc-modules~ and enable ~visual-line-mode~ in order to get reflowable windows; this would [[file:~/memory-leaks/itches/emacs/tracker.org::*+Make timestamps robust vs window width changes+][mess with right-aligned timestamps]], however. @@ -13,8 +26,47 @@ As of ERC 5.6, setting ~erc-fill-function~ to ~'erc-fill-wrap~ enables =wrap-prefix= & margin trickery to (a) align nicks and messages (b) make messages reflowable (c) keep timestamps firmly stuck to the right margin. -** shr -*** ~shr-fill-text~ +*** shr +**** ~shr-fill-text~ +Set to nil to completely disable shr's line-wrapping. This lets users +leverage ~visual-line-mode~ to get all the benefits of +display-engine-backed wrapping: text is reflowed on the fly as windows +are resized or text is rescaled. + +Tables still use rigid wrapping though; this can be circumvented by +remapping =<table>= tags: + +#+begin_src elisp +(pcase-dolist (`(,tag . ,shr-function) + '((table . shr-tag-div) + (thead . shr-tag-div) + (tbody . shr-tag-div) + (tr . shr-tag-ul) + (th . shr-tag-li) + (td . shr-tag-li))) + (setf (alist-get tag shr-external-rendering-functions) shr-function)) +#+end_src + +Eww automatically enables ~visual-line-mode~ when it detects that +~shr-fill-text~ is =nil=; Gnus does not yet, and so requires some +hand-holding to take full-advantage of ~visual-line-mode~: + +#+begin_src elisp +;; Enable visual-line-mode after rendering an article: +(add-hook 'gnus-article-prepare-hook 'visual-line-mode) + +;; This is to go e v e n f u r t h e r b e y o n d. +(setopt + ;; Never hard-wrap any lines. + gnus-treat-fill-article nil + gnus-treat-fill-long-lines nil + ;; Re-assemble headers into a single line. + gnus-article-unfold-long-headers t + gnus-treat-fold-headers nil + ;; Unfurl format=flowed emails. + fill-flowed-display-column most-positive-fixnum) +#+end_src + ** Programming features *** ~etags-regen-mode~ Not sure how straightforward it is to set up for complex projects, @@ -23,6 +75,8 @@ subdirectories, and one source file uses symbols from multiple TAGS files. Sounds useful though. +*** tree-sitter +**** outline integration (bug#68824) ** UI *** Completion **** ~completion-preview-mode~ |
