Support hierarchical symbols in Imenu (#303)
Thanks to Ingo Lohmar for the original implementation.
Handle multiple "documentation at point" sources ([#439][github#439], [#494][github#494], [#481][github#481], [#454][github#454])
Such sources include as LSP's signature, hover and also the Flymake
diagnostic messages. They can all be presented in the echo area
(space permitting), or via C-h .
. For now, composition of different
sources can be customized using eldoc-documentation-strategy
,
eldoc-echo-area-use-multiline-p
and eldoc-prefer-doc-buffer
.
The variables eglot-put-doc-in-help-buffer
and
eglot-auto-display-help-buffer
have been removed.
Column offset calculation is now LSP-conform (#361)
It seems the majority of servers now comply with the language server
specification when it comes to handling non-ASCII texts. Therefore
the default values of eglot-move-to-column-function
and
eglot-current-column-function
have been changed. The documentations
of these variables help to restore the old behavior.
Support workspace/configuration requests (#326)
Also a new section "Per-project server configuration" in the README.md should answer some faq's in this regard.
Thanks a lot to Felicián Németh, Ingo Lohmar, and everyone else who helped out!
Take over Company configuration (#324)
Similar to what was already the case with Flymake, Eldoc and Xref, use
just the backend that can do something useful in Eglot,
company-capf
. See eglot-stay-out-of
to opt out of this.
Among other things, consider LSP's "filterText" cookies, which enables a kind of poor-man's flex-matching for some backends.
Support LSP's "goto declaration/implementation/typeDefinition" (#302)
New option eglot-send-changes-idle-time
(#258)
Prevent Eldoc flicker when moving around (#198)
Show large docs in help buffer instead of echo area by default (#198)
Also add two new customization variables
eglot-put-doc-in-help-buffer
and eglot-auto-display-help-buffer
.
You can turn it off now in buffers managed by Eglot.
Run connection hooks with proper directory local variables (#196)
This fixes issues with suspiciously empty didChangeConfiguration
messages that are supposed to communicate parameters from a
directory-set eglot-workspace-configuration
.
Fix completion sorting (#190)
No longer try to add Eglot's facilities to existing facilities in these two domains.
Add brief context after xref-find-references
when available (#52)
Use Flymake from GNU ELPA (#178)
Support snippet completions (#50)
Use yasnippet.el
for this, if it is installed.
Implement workspace/didChangeConfiguration
(#29)
Handle experimental/unknown server methods gracefully (#39)
Accept functions as entries in eglot-server-programs
(#63)
CONTACT
in the (MAJOR-MODE . CONTACT)
association in
eglot-server-programs
can now be a function of no arguments
producing any value previously valid for contact. Functions can be
interactive on non-interactive.
Snappier completions that don't hinder typing (#61)
Consider :triggerCharacters
in company completion (#80)
Prefer ccls over cquery for C/C++ (#94)
eglot-ignored-server-capabilites
is more user-friendly (#126)
Implement asynchronous server connection (#68)
A new defcustom eglot-sync-connect
controls this feature.
Work by Michał K.
Prompt for server in eglot-shutdown
(#73)
Add support for the Eclipse JDT language server (#63)
Add the ability to move to LSP-precise columns (#124)
Some servers like clangd
follow the spec very closely here.
Fix a potential security issue fontifying LSP doc (#154)
#44, #48, #54, #58, #64, #74, #81, #82, #86, #87, #83, #93, #100, #115, #120, #121, #126, #138, #144, #158, #160, #167
The :autoport
symbol in the server incovation is replaced
dynamically by a local port believed to be vacant, so that the ensuing
TCP connection finds a listening server.