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.
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.