Skip to content

Releases: oxalica/async-lsp

v0.1.0

06 Nov 07:29
v0.1.0
Compare
Choose a tag to compare
  • Updated lsp-types to 0.94.1 which comes with a few more LSP methods.They are added into trait Language{Server,Client} respectively (under omni-trait feature).

  • Updated many other dependencies.

  • Some random documentation tweak and fixes.

v0.0.5

07 Aug 01:43
v0.0.5
Compare
Choose a tag to compare

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 with tokio or
    async-io driver, briefly lock_tokio() or async_io::Async::new(lock()).

  • Frontend is renamed to MainLoop, and a run_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 on MainLoop constructors.

Features

  • Separated Error::Eof from Error::Io.

  • {Server,Client}Socket::new_closed constructor for testing.

  • AnyEvent::{is,downcast_{ref,mut}} to in sync with Box<dyn Any>.

  • More examples, tests and benchmarks.

  • Complete documentations.

Internal changes

  • The platform related behavior of ClientProcessMonitor is moved into an
    individual crate waitpid-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.