Language Server Protocol implementation written in Rust
Client
notification methods to async fn
(PR #213).tower-lsp-macros
for internal use only (PR #202).$/cancelRequest
(PR #202).lsp-types
crate from 0.74 to 0.79.Client
directly as struct field (PR #199).jsonrpc-core
with minimal JSON-RPC implementation (PR #202).LspService
as Service<Incoming, Response = Option<Outgoing>>
.FusedStream
for MessageStream
.workspace/didChangeConfiguration
to break (PR #195).shutdown
has been called once.jsonrpc-core
, as tower-lsp
no longer relies on it.LspService::with_handler()
constructor (PR #202).lsp-types
crate from 0.73 to 0.74 (PR #178). This introduces breaking changes to the following LanguageServer
trait method signatures:
hover()
signatureHelp()
goto_declaration()
goto_definition()
goto_type_definition()
goto_implementation()
document_highlight()
LanguageServer::initialize()
handler async fn
(PR #182).stdin
and stdout
handles that are not Send + 'static
. This permits the use of std::io::Cursor
or Vec<u8>
as mock stdio sources for tests, and passing in &mut
handles is now supported as well (PR #184).textDocument/willSaveWaitUntil
textDocument/selectionRange
jsonrpc-core
types in a new jsonrpc
module (PR #169).lsp-types
crate from 0.70 to 0.73 (PR #162).textDocument/foldingRange
(PR #167).textDocument/documentColor
textDocument/colorPresentation
textDocument/rangeFormatting
textDocument/onTypeFormatting
textDocument/foldingRange
initialize
request from the client only once and will
respond with JSON-RPC error code -32600
if sent again (PR #160).info!()
message when server initializes to be consistent with the
existing info!()
message that is emitted when the server exits.textDocument/references
textDocument/documentLink
documentLink/resolve
textDocument/rename
textDocument/prepareRename
window/showMessageRequest
workspace/workspaceFolders
workspace/configuration
trace!()
logs (PR #130).async fn
(PR #131).Printer
to Client
.Client::apply_edit()
to return Result<ApplyWorkspaceEditResponse>
.Client::register_capability()
to return Result<()>
.Client::unregister_capability()
to return Result<()>
.Client
(PR #129).