From 66d17efabaca0f3d08b78529c8d64fc65dc799e2 Mon Sep 17 00:00:00 2001 From: Eshel Yaron Date: Wed, 28 Dec 2022 13:59:53 +0200 Subject: [PATCH] Eglot: don't use "nil" as minibuffer initial input Doing M-x eglot in a buffer for which buffer-file-name is nil, prompts the user for a major mode to manage by invoking completing-read. The way completing-read was called would end up with the string "nil" as the initial minibuffer input, which is not very useful nor is it a valid input. * lisp/progmodes/eglot.el (eglot--guess-contact): tweak prompt for major mode. --- lisp/progmodes/eglot.el | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el index 15cb1b6fad..57f9be718f 100644 --- a/lisp/progmodes/eglot.el +++ b/lisp/progmodes/eglot.el @@ -991,6 +991,7 @@ eglot--guess-contact non-nil, maybe prompt user, else error as soon as something can't be guessed." (let* ((guessed-mode (if buffer-file-name major-mode)) + (guessed-mode-name (and guessed-mode (symbol-name guessed-mode))) (main-mode (cond ((and interactive @@ -998,9 +999,10 @@ eglot--guess-contact (not guessed-mode))) (intern (completing-read - "[eglot] Start a server to manage buffers of what major mode? " - (mapcar #'symbol-name (eglot--all-major-modes)) nil t - (symbol-name guessed-mode) nil (symbol-name guessed-mode) nil))) + (format-prompt "Start LSP server for major mode" + guessed-mode-name) + (mapcar #'symbol-name (eglot--all-major-modes)) + nil t nil nil guessed-mode-name nil))) ((not guessed-mode) (eglot--error "Can't guess mode to manage for `%s'" (current-buffer))) (t guessed-mode))) -- 2.38.1