From 389874c533bbd2a5594ce490510ad25bca147899 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20T=C3=A1vora?= Date: Mon, 18 May 2026 20:33:44 +0100 Subject: [PATCH] Eglot: unbreak for treesit-less builds * lisp/progmodes/eglot.el (eglot--builtin-mdown-p): New helper. (eglot--accepted-formats) (eglot--format-markup): Use it. --- lisp/progmodes/eglot.el | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el index f00a3a265c5..e55928556f9 100644 --- a/lisp/progmodes/eglot.el +++ b/lisp/progmodes/eglot.el @@ -726,11 +726,15 @@ This can be useful when using docker to run a language server.") (executable-find command))) (declare-function treesit-grammar-location "treesit.c") + +(defun eglot--builtin-mdown-p () + (and (fboundp 'markdown-ts-view-mode) + (fboundp 'treesit-grammar-location) + (treesit-grammar-location 'markdown))) + (defun eglot--accepted-formats () (if (and (not eglot-prefer-plaintext) - (or (fboundp 'gfm-view-mode) - (and (fboundp 'markdown-ts-view-mode) - (treesit-grammar-location 'markdown)))) + (or (fboundp 'gfm-view-mode) (eglot--builtin-mdown-p))) ["markdown" "plaintext"] ["plaintext"])) @@ -2237,9 +2241,7 @@ Doubles as an indicator of snippet support." (cl-defun eglot--format-markup (markup &optional mode - &aux string lang render extract - (built-in (and (fboundp 'markdown-ts-view-mode) - (treesit-grammar-location 'markdown)))) + &aux string lang render extract) "Format MARKUP according to LSP's spec. MARKUP is either an LSP MarkedString or MarkupContent object. If MODE, force MODE to be used for fontifying MARKUP." @@ -2261,7 +2263,7 @@ If MODE, force MODE to be used for fontifying MARKUP." (calc2 (forced-mode) (cond (forced-mode `(,forced-mode)) - (built-in `(,#'markdown-ts-view-mode)) + ((eglot--builtin-mdown-p) `(,#'markdown-ts-view-mode)) ((fboundp 'gfm-view-mode) `(,#'gfm-view-mode ,#'gfm-extract)) (t `(#'text-mode)))) (calc (s &optional (forced-mode mode) &aux (x (calc2 forced-mode)))