Commit 9cb85e95 authored by João Távora's avatar João Távora
Browse files

Eglot: declare eglot-lsp-context bound to non-nil

Otherwise, it'll be really hard to use it in the recommended fashion:

  (defun my/project-find-function (dir)
    (when-let ((match
                (and (bound-and-true-p eglot-lsp-context)
                     (locate-dominating-file dir "some-marker-file"))))
      `(transient . ,match)))

  (add-hook 'project-find-functions #'my/project-find-function)

because 'bound-and-true-p' will never return t even when the hook is called
from eglot--current-project.

Github-reference: https://github.com/joaotavora/eglot/discussions/1336
Github-reference: https://github.com/joaotavora/eglot/discussions/1337

* lisp/progmodes/eglot.el (eglot-lsp-context): Declare normally.
parent 9c86dd52
Pipeline #27590 failed with stages
in 93 minutes and 28 seconds
......@@ -1289,9 +1289,8 @@ be guessed."
guess)))
(list managed-modes (eglot--current-project) class contact language-ids)))
(defvar eglot-lsp-context)
(put 'eglot-lsp-context 'variable-documentation
"Dynamically non-nil when searching for projects in LSP context.")
(defvar eglot-lsp-context nil
"Dynamically non-nil when searching for projects in LSP context.")
(defun eglot--current-project ()
"Return a project object for Eglot's LSP purposes.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment