Releases: oxalica/async-lsp
v0.1.0
v0.0.5
Major changes
-
Decoupled
tokio
, which is now an optional dependency.futures
utilities,
like channels, are used instead.stdio
module still requires an async
executor to work. See its documentations for the the usage withtokio
or
async-io
driver, brieflylock_tokio()
orasync_io::Async::new(lock())
. -
Frontend
is renamed toMainLoop
, and arun_buffered
shortcut is
provided to auto-wrap non-AsyncBufRead
arguments with a buffer. -
LspService::{Error,Response}
type bounds are relaxed. (#5) Users are free
to implement different error and/or response types in their middlewares. But
they should still meet the bounds onMainLoop
constructors.
Features
-
Separated
Error::Eof
fromError::Io
. -
{Server,Client}Socket::new_closed
constructor for testing. -
AnyEvent::{is,downcast_{ref,mut}}
to in sync withBox<dyn Any>
. -
More examples, tests and benchmarks.
-
Complete documentations.
Internal changes
-
The platform related behavior of
ClientProcessMonitor
is moved into an
individual cratewaitpid-any
. It now has a blocking implementation and
spawns a thread. *NIX, Windows and *BSD are all supported now. -
Writing outgoing messages is now done concurrently and will not suspend
reading and request handling.