Skip to content

Releases: ebkalderon/tower-lsp

tower-lsp 0.8.0

28 Feb 16:26
Compare
Choose a tag to compare
tower-lsp 0.8.0 Pre-release
Pre-release

Added

  • Implement support for the following client-to-server messages:
    • textDocument/willSave
    • completionItem/resolve
    • textDocument/documentSymbol
    • textDocument/codeAction
    • textDocument/codeLens
    • codeLens/resolve
    • textDocument/formatting

Changed

  • LspService::call() stops serving requests after exit notification, meaning there is no longer a need for ExitReceiver::run_until_exit and the Server::serve() async method can now be awaited directly (PR #117).
  • Return Option<String> as service response type (PR #116).
  • Disable unused nom features for a hopefully lighter build (PR #112).
  • Link to current version of LSP specification in doc comments (PR #122).

Fixed

  • Correctly handle backpressure using Service::poll_ready() (PR #117).

Removed

  • Remove ExitReceiver type and LspService::close_handle() method (PR #117).

tower-lsp 0.7.0

24 Feb 08:31
Compare
Choose a tag to compare
tower-lsp 0.7.0 Pre-release
Pre-release

Added

  • Add default implementations to all non-required LanguageServer methods.
  • Add support for emitting custom notifications to clients (PR #99).
  • Implement support for the following client-to-server messages:
    • textDocument/signatureHelp
    • textDocument/implementation

Changed

  • Bump minimum supported Rust version to 1.39.0.
  • Convert to std::future and async/await (PR #101).
  • Update futures crate from 0.1.28 to 0.3.
  • Update lsp-types crate from 0.68.0 to 0.70.
  • Update tokio crate from 0.1.12 to 0.2.
  • Update tower-service crate from 0.2.0 to 0.3.

Fixed

  • Fix some incorrect links in doc comments.

tower-lsp 0.6.0

07 Jan 07:17
Compare
Choose a tag to compare
tower-lsp 0.6.0 Pre-release
Pre-release

Added

  • Implement support for the following client-to-server messages:
    • textDocument/declaration
    • textDocument/definition
    • textDocument/typeDefinition

Changed

  • Update lsp-types crate from 0.63.1 to 0.68.0.

tower-lsp 0.5.0

12 Dec 05:26
Compare
Choose a tag to compare
tower-lsp 0.5.0 Pre-release
Pre-release

Added

  • Add support for Language Server Protocol 3.15.

Changed

  • Update lsp-types crate from 0.61.0 to 0.63.1.

tower-lsp 0.4.1

09 Dec 14:46
Compare
Choose a tag to compare
tower-lsp 0.4.1 Pre-release
Pre-release

Changed

  • Update jsonrpc-core crate from 14.0 to 14.0.5.
  • Update jsonrpc-derive crate from 14.0 to 14.0.5.
  • Update log crate from 0.4.7 to 0.4.8.
  • Update serde crate from 1.0.99 to 1.0.103.
  • Update tokio-executor crate from 0.1.8 to 0.1.9.
  • Update env_logger crate from 0.7.0 to 0.7.1.

Fixed

  • Correctly handle LSP requests containing incomplete UTF-8 (PR #66).

tower-lsp 0.4.0

02 Oct 04:41
87343bc
Compare
Choose a tag to compare
tower-lsp 0.4.0 Pre-release
Pre-release

Added

  • Implement support for textDocument/completion request.

Changed

  • Expose Printer in LanguageServer::initialize().
  • Update env_logger crate from 0.6.2 to 0.7.0.
  • Update lsp-types crate from 0.60.0 to 0.61.0.

Fixed

  • Allow window/logMessage, window/showMessage, and telemetry/event
    server-to-client notifications in initialize request (PR #48).
  • Update links to the LSP specification website to point to the new URL.

tower-lsp 0.3.1

08 Sep 14:52
1ed04a8
Compare
Choose a tag to compare
tower-lsp 0.3.1 Pre-release
Pre-release

Changed

  • Use more descriptive message in not initialized JSON-RPC error.
  • Initialize example server with available features so it can be used as a
    working mock language server.

Fixed

  • Allow JSON data for telemetry/event notification to be null.

tower-lsp 0.3.0

04 Sep 17:51
4848a1f
Compare
Choose a tag to compare
tower-lsp 0.3.0 Pre-release
Pre-release

Added

  • Add support for decoding the optional Content-Type field in messages.
  • Implement support for the following client-to-server messages:
    • workspace/didChangeWorkspaceFolders
    • workspace/didChangeConfiguration
    • workspace/didChangeWatchedFiles
    • workspace/symbol
    • workspace/executeCommand
  • Implement support for the following server-to-client messages:
    • telemetry/event
    • client/registerCapability
    • client/unregisterCapability
    • workspace/applyEdit

Changed

  • Bump minimum Rust version to 1.34.0.
  • Rename highlight() to document_highlight() to better match the specification.
  • Make all notification methods into provided methods (PR #34).
  • Change LspService request type from String to Incoming (PR #28).
  • Update Server to spawn services with Incoming request type.
  • Use env_logger to print log messages in examples.

tower-lsp 0.2.0

02 Sep 19:34
4915602
Compare
Choose a tag to compare
tower-lsp 0.2.0 Pre-release
Pre-release

Added

  • Add ExitedError for when calling LspService after it has already exited.

Changed

  • Language server now returns server error code -32002 if any method is called before initialize request is received, as per the spec.
  • LspService sets Service::Error to ExitedError.
  • Server can now accept any service where Service::Error is convertible to Box<dyn Error + Send + Sync>. This enables compatibility with most Tower middleware.
  • Retain error or success from future in ExitReceiver::run_until_exit().
  • Remove 'static bounds on some Server and ExitReceiver methods.

tower-lsp 0.1.0

02 Sep 09:01
60a0d13
Compare
Choose a tag to compare
tower-lsp 0.1.0 Pre-release
Pre-release

Added

  • Initial crate release.
  • Implement support for the following message types:
    • initialize
    • initialized
    • shutdown
    • exit
    • window/showMessage
    • window/logMessage
    • textDocument/publishDiagnostics
    • textDocument/didOpen
    • textDocument/didChange
    • textDocument/didSave
    • textDocument/didClose
    • textDocument/hover
    • textDocument/documentHighlight