Open sdhoward opened 2 months ago
I am encountering this issue as well.
I investigated a bit, comparing eglot (where it works)/lsp-mode (where is does not) : The main difference I saw was that lsp-mode declares textDocument/hover with dynamicRegistration: true where as eglot sets it to nil.
Setting this in lsp-mode.el : `lsp--client-capabilities()' to t seems to fix the issue for me.
(hover . ((contentFormat . ["markdown" "plaintext"])
(dynamicRegistration . nil)))
My guess would be that with dynamic registration, lsp-mode is notified too late that the server supports hover.
lsp-mode seems to enable eldoc at startup only, when `lsp-managed-mode' is turned on.
(when (lsp-feature? "textDocument/hover")
(add-hook 'eldoc-documentation-functions #'lsp-eldoc-function nil t)
(eldoc-mode 1))
With dynamic registration, I guess it would have to be turned on when receiving the message instead of at startup time ?
@yyoncho , would you have some advice on how to proceed with this ?
I appreciate the workaround. I edited the file in my melpa directory and byte-compiled it again. Works well.
I forgot to include which version of jdtls I'm on - right now it's 1.37.0. I don't know which version I had when it was working. Did the behavior change from a previous version of jdtls?
Describe the bug
I have Emacs 29.3 on MacOS, and lsp-java 20240524.2207 installed from Melpa.
Within the past year, perhaps in an older Emacs or an older lsp-mode, the type signature of the Java variable or method would appear, in the fixed-pitch font, in the minibuffer, when the cursor was over the function name. There was no mouse hovering or UI involved.
In fact, I still have this behavior in lsp-mode for Golang variables and functions. A screenshot is attached. If I set
lsp-eldoc-enable-hover
tonil
, the behavior in Golang mode becomes disabled. So I think this feature is related to eldoc.I read one recent bug report and I installed the fixed version that was released and it's not resolving my issue.
Please help to point out which setting re-enables this, or whether a regression has appeared. Thanks.
To Reproduce
The simple init.el that I use to reproduce this is:
Screenshots
^ the signatures appear in go-mode but not java-mode