Language Server Protocol implementation written in Rust
textDocument/diagnostic
server request.workspace/diagnostic
server request.workspace/diagnostic/refresh
client request.std::str::FromStr
for jsonrpc::{Request,Response}
(PR #379).From<jsonrpc::ErrorCode>
for i64
(PR #379).1.52.0
to 1.64.0
(PR #377, PR #395).lsp-types
from 0.94
to 0.94.1
(PR #396).syn
from 1
to 2
(PR #390).async-tungstenite
from 0.18
to 0.22
(PR #395).ws_stream_tungstenite
from 0.9
to 0.10
(PR #395).jsonrpc::Error::message
field to Cow<'static, str>
(PR #378).jsonrpc::Error
as const fn
(PR #378).jsonrpc::ErrorCode
as const fn
(PR #378).version
field deserialization (PR #379).LanguageServer::completion()
(PR #396).LspService::inner()
method (PR #344).window/showDocument
client request from LSP 3.16.0 (PR #375).textDocument/prepareTypeHierarchy
server request.typeHierarchy/supertypes
server request.typeHierarchy/subtypes
server request.textDocument/inlineValue
server request.textDocument/inlayHint
server request.inlayHint/resolve
server request.workspaceSymbol/resolve
server request.workspace/inlineValue/refresh
client request.workspace/inlayHint/refresh
client request.edition
from 2018
to 2021
(PR #370).lsp-types
from 0.93
to 0.94
(PR #367).LanguageServer
trait methods to match the LSP 3.17.0 spec document (PR #375).Client
inherent methods to better match the LSP 3.17.0 spec document (PR #375).textDocument/colorPresentation
request (PR #371).textDocument/willSaveWaitUntil
request (PR #371).workspace/didChangeWatchedFiles
request (PR #371).LanguageServer
and Client
methods (PR #375).log
facade to tracing
(PR #332).$/cancelRequest
log message from warn
to debug
(PR #353).auto_impl
from 0.5
to 1.0
(PR #343).httparse
from 1.3.5
to 1.8
(PR #363)memchr
from 2.4.1
to 2.5
(PR #363).tower
version requirement from 0.3.11
to 0.3
(PR #363).async-tungstenite
from 0.16
to 0.18
(PR #363).ws_stream_tungstenite
from 0.7
to 0.9
(PR #363).tcp
example (PR #336).initialized
and textDocument/codeAction
doc comments (PR #361).LspService
(PR #313).tokio
when enabling the runtime-agnostic
feature (PR #309).Service<Request, Response = Option<Response>>
for Client
(PR #313).concurrency_level
setting on Server
, allowing adjustment from the default value of 4.Request::build()
interface for creating custom requests.From
implementations for jsonrpc::Id
..result()
/.error()
and .is_ok()
/.is_error()
methods to jsonrpc::Response
.LspService
now implements Service<Request, Response = Option<Response>>
.LspService::new()
now returns a ClientSocket
instead of a MessageStream
.Server::new()
now requires a third ClientSocket
argument instead of using .interleave()
.Client::send_custom_{request,notification}
to Client::send_{request,notification}
.jsonrpc::Response::{ok, error}
to jsonrpc::Response::{from_ok, from_error}
.Client
channel properly on exit
notification (PR #309).Server
occasionally stalling by processing client responses separately from client-to-server requests (PR #313).-32600
(invalid request) if incoming data is valid JSON, but isn't a JSON-RPC request or response (PR #313)..interleave()
method from Server
(PR #313).jsonrpc::{ClientRequest, Incoming, Outgoing, ServerRequest}
(PR #313).MessageStream
(PR #313).1.45.0
to 1.52.0
(PR #300).lsp-types
from 0.89
to 0.92
(PR #300).auto_impl
from 0.4
to 0.5
(PR #298).dashmap
from 4.0.2
to 5.0.0
(PR #298).nom
from 6.1.2
to 7.1.0
(PR #298).null
and negative integer values as request IDs (PR #285).workspace/willCreateFiles
server request.workspace/willRenameFiles
server request.workspace/willDeleteFiles
server request.workspace/didCreateFiles
server notification.workspace/didRenameFiles
server notification.workspace/didDeleteFiles
server notification.workspace/codeLens/refresh
client request.workspace/semanticTokens/refresh
client request.textDocument/linkedEditingRange
server request.textDocument/moniker
request.codeAction/resolve
request.1.41.0
to 1.45.0
(PR #264).lsp-types
from 0.82
to 0.89
(PR #264).tokio
from 0.2
to 1.6
(PR #264, PR #268).tokio-util
from 0.3
to 0.6.5
(PR #264).bytes
from 0.5
to 1.0.1
(PR #264).dashmap
from 3.5.1
to 4.0.2
(PR #264).nom
from 5.1
to 6.1.2
(PR #264).take_until
combinator (PR #274).window/showMessageRequest
while server is uninitialized (PR #228).serde
overlap (PR #269).