diff options
| author | João Távora <joaotavora@gmail.com> | 2026-06-01 11:48:42 +0100 |
|---|---|---|
| committer | João Távora <joaotavora@gmail.com> | 2026-06-01 19:11:46 +0100 |
| commit | bfa4d6dd400f18832aa19df3cdd41bfd763c85f7 (patch) | |
| tree | 240709d093591c26b64eb820a1cabda4646b8f5a | |
| parent | 43f163034682d0139a9986117bce7945ed60c1e9 (diff) | |
Disable markdown-ts-mode & markdown-ts-view-mode for Emacs 31
Ported from emacs-31 release branch:
commit 984932d4dc992af384b8201caa6f1ba8457cfb2a
Author: Sean Whitton <spwhitton@spwhitton.name>
Date: Mon Jun 1 11:48:42 2026 +0100
Disable markdown-ts-mode & markdown-ts-view-mode for Emacs 31
This synchronizes master's Eglot with emacs-31. The goal of that commit
is to demote those markdown-ts-mode.el modes to "experimental" status in
emacs-31, but Eglot was already relying on them and changes were needed.
984932d4dc992af384b8201caa6f1ba8457cfb2a is not the commit that best
does those changes, but since that commit was marked "do not merge" on
emacs-31, I thought it best to bring it here manually so any further
work -- which doesn't contradict the overarching intention -- can
continue in emacs-31 with clean merges to master (where the GNU-devel
core Elpa package is pulled from).
* lisp/progmodes/eglot.el (eglot-documentation-renderer)
(eglot--format-markup): Don't call eglot--builtin-mdown-p.
* doc/misc/eglot.texi (Customization Variables):
* etc/EGLOT-NEWS: Don't mention markdown-ts-mode
Co-authored-by: Sean Whitton <spwhitton@spwhitton.name>
| -rw-r--r-- | doc/misc/eglot.texi | 17 | ||||
| -rw-r--r-- | etc/EGLOT-NEWS | 6 | ||||
| -rw-r--r-- | lisp/progmodes/eglot.el | 9 |
3 files changed, 12 insertions, 20 deletions
diff --git a/doc/misc/eglot.texi b/doc/misc/eglot.texi index c7c296c24ff..97a934fa953 100644 --- a/doc/misc/eglot.texi +++ b/doc/misc/eglot.texi @@ -998,15 +998,14 @@ will consider it to be part of the workspace. The default is @cindex markdown renderer @item eglot-documentation-renderer -This variable controls how Eglot renders at-point documentation -imported from the server (@pxref{Eglot Features}). By default, the -variable's value is set during startup to a markdown renderer if -available, either @code{markdown-ts-view-mode} or -@code{gfm-view-mode}. These utilities visually enhance the -documentation content through fontification and other formatting. If -you set it to @code{t}, plain text will be requested from the server -and no rendering is attempted. If the variable's value is @code{nil}, -Eglot will attempt to find a suitable renderer every time. +This variable controls how Eglot renders at-point documentation imported +from the server (@pxref{Eglot Features}). By default, the variable's +value is set during startup to the @code{gfm-view-mode} markdown +renderer if available. This utility visually enhances the documentation +content through fontification and other formatting. If you set it to +@code{t}, plain text will be requested from the server and no rendering +is attempted. If the variable's value is @code{nil}, Eglot will attempt +to find a suitable renderer every time. @item eglot-mode-map This variable is the keymap for binding Eglot-related command. It is in diff --git a/etc/EGLOT-NEWS b/etc/EGLOT-NEWS index f0f595fa500..7510f13521e 100644 --- a/etc/EGLOT-NEWS +++ b/etc/EGLOT-NEWS @@ -32,11 +32,7 @@ New key bindings: 'k' shuts down, 'r' reconnects, 'e' visits the events buffer, 'w' shows workspace configuration, and 'RET' invokes 'eglot-describe-connection'. -** New LSP documentation rendering backends (bug#80127) - -Eglot uses new built-in 'markdown-ts-mode' of Emacs 31, which means that -on newer versions of Emacs the external 'markdown-mode.el' package does -not need to be installed to render Markdown content. +** 'eglot-documentation-renderer' replaces 'eglot-prefer-plaintext'. The variable 'eglot-documentation-renderer' replaces the now-obsolete 'eglot-prefer-plaintext'. By default, the variable selects a markdown diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el index 504a5e12112..a8b107b1a89 100644 --- a/lisp/progmodes/eglot.el +++ b/lisp/progmodes/eglot.el @@ -537,15 +537,13 @@ or file operation kinds not in the alist." "If non-nil, activate Eglot in cross-referenced non-project files." :type 'boolean) -(defcustom eglot-documentation-renderer (cond ((eglot--builtin-mdown-p) - 'markdown-ts-view-mode) - ((fboundp 'gfm-view-mode) +(defcustom eglot-documentation-renderer (cond ((fboundp 'gfm-view-mode) 'gfm-view-mode) (t nil)) "Control rendering of LSP documentation fragments. -If set to a major mode symbol `gfm-view-mode' or `markdown-ts-view-mode' -request markdown-snippets and use the corresponding Markdown renderer. +If set to the major mode symbol `gfm-view-mode', request +markdown-snippets and use `gfm-view-mode' to render it. If t, always request and render plain text snippets. If set to nil, decide dynamically." :type '(choice (const :tag "Plain text" t) @@ -2278,7 +2276,6 @@ If MODE, force MODE to be used for fontifying MARKUP." (cond (forced-mode forced-mode) ((fboundp eglot-documentation-renderer) eglot-documentation-renderer) - ((eglot--builtin-mdown-p) #'markdown-ts-view-mode) ((fboundp 'gfm-view-mode) #'gfm-view-mode) (t #'text-mode))) (calc (s &optional (forced-mode mode) &aux (x (calc2 forced-mode))) |
