tower-lsp-macros
Internal procedural macros for tower-lsp
0.9.0
7.0M downloads/mo
#3779 most downloaded on crates.io
ebkalderon/tower-lsp
What this package is like to depend on
Last release 3 years ago
no release in 18 months
Release timing varies
gaps range from 2 weeks to 10 months
Nearly every release is documented
notes for 10 of 10 stable releases
1 version withdrawn
withdrawn after publishing
6 years old
11 releases · first in 2020
0 releases in the last 12 months
see the full history below
Release timeline
11 releases · Aug 2020 to Aug 2023
2021
2022
2023
2024
2025
2026
Releases
latest 11-
0.9.011 Aug 2023Release notes
Open source →Added
- Add
info!()message when server initializes to be consistent with the existinginfo!()message that is emitted when the server exits. - Implement support for the following client-to-server messages:
textDocument/referencestextDocument/documentLinkdocumentLink/resolvetextDocument/renametextDocument/prepareRename
- Implement support for the following server-to-client messages:
window/showMessageRequestworkspace/workspaceFoldersworkspace/configuration
Changed
- Improve LSP message encoding efficiency (PR #126).
- Reduce chattiness of
trace!()logs (PR #130). - Change all notification trait methods to
async fn(PR #131). - Implement proper server-to-client request routing (PRs #134 #135).
- Rename
PrintertoClient. - Change
Client::apply_edit()to returnResult<ApplyWorkspaceEditResponse>. - Change
Client::register_capability()to returnResult<()>. - Change
Client::unregister_capability()to returnResult<()>.
Removed
- Remove redundant serialization steps from
Client(PR #129).
- Add
-
0.8.028 Feb 2023Release notes
Open source →Added
- Implement support for the following client-to-server messages:
textDocument/willSavecompletionItem/resolvetextDocument/documentSymboltextDocument/codeActiontextDocument/codeLenscodeLens/resolvetextDocument/formatting
Changed
LspService::call()stops serving requests afterexitnotification, meaning there is no longer a need forExitReceiver::run_until_exitand theServer::serve()async method can now be awaited directly (PR #117).- Return
Option<String>as service response type (PR #116). - Disable unused
nomfeatures 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
ExitReceivertype andLspService::close_handle()method (PR #117).
- Implement support for the following client-to-server messages:
-
0.7.015 Jan 2023Release notes
Open source →Added
- Add default implementations to all non-required
LanguageServermethods. - Add support for emitting custom notifications to clients (PR #99).
- Implement support for the following client-to-server messages:
textDocument/signatureHelptextDocument/implementation
Changed
- Bump minimum supported Rust version to 1.39.0.
- Convert to
std::futureand async/await (PR #101). - Update
futurescrate from 0.1.28 to 0.3. - Update
lsp-typescrate from 0.68.0 to 0.70. - Update
tokiocrate from 0.1.12 to 0.2. - Update
tower-servicecrate from 0.2.0 to 0.3.
Fixed
- Fix some incorrect links in doc comments.
- Add default implementations to all non-required
-
0.6.011 Mar 2022Release notes
Open source →Added
- Implement support for the following client-to-server messages:
textDocument/declarationtextDocument/definitiontextDocument/typeDefinition
Changed
- Update
lsp-typescrate from 0.63.1 to 0.68.0.
- Implement support for the following client-to-server messages:
-
0.5.014 Feb 2022Release notes
Open source →Added
- Add support for Language Server Protocol 3.15.
Changed
- Update
lsp-typescrate from 0.61.0 to 0.63.1.
-
0.4.211 Feb 2022 withdrawnNothing published for this version
-
0.4.121 May 2021Release notes
Open source →Changed
- Update
jsonrpc-corecrate from 14.0 to 14.0.5. - Update
jsonrpc-derivecrate from 14.0 to 14.0.5. - Update
logcrate from 0.4.7 to 0.4.8. - Update
serdecrate from 1.0.99 to 1.0.103. - Update
tokio-executorcrate from 0.1.8 to 0.1.9. - Update
env_loggercrate from 0.7.0 to 0.7.1.
Fixed
- Correctly handle LSP requests containing incomplete UTF-8 (PR #66).
- Update
-
0.4.020 May 2021Release notes
Open source →Added
- Implement support for
textDocument/completionrequest.
Changed
- Expose
PrinterinLanguageServer::initialize(). - Update
env_loggercrate from 0.6.2 to 0.7.0. - Update
lsp-typescrate from 0.60.0 to 0.61.0.
Fixed
- Allow
window/logMessage,window/showMessage, andtelemetry/eventserver-to-client notifications ininitializerequest (PR #48). - Update links to the LSP specification website to point to the new URL.
- Implement support for
-
0.3.020 Aug 2020Release notes
Open source →Added
- Add support for decoding the optional
Content-Typefield in messages. - Implement support for the following client-to-server messages:
workspace/didChangeWorkspaceFoldersworkspace/didChangeConfigurationworkspace/didChangeWatchedFilesworkspace/symbolworkspace/executeCommand
- Implement support for the following server-to-client messages:
telemetry/eventclient/registerCapabilityclient/unregisterCapabilityworkspace/applyEdit
Changed
- Bump minimum Rust version to 1.34.0.
- Rename
highlight()todocument_highlight()to better match the specification. - Make all notification methods into provided methods (PR #34).
- Change
LspServicerequest type fromStringtoIncoming(PR #28). - Update
Serverto spawn services withIncomingrequest type. - Use
env_loggerto print log messages in examples.
Fixed
- Fix broken doc link to
textDocument/didChangeinLanguageServertrait.
- Add support for decoding the optional
-
0.2.011 Aug 2020Release notes
Open source →Added
- Add
ExitedErrorfor when callingLspServiceafter it has already exited.
Changed
- Language server now returns server error code
-32002if any method is called beforeinitializerequest is received, as per the spec. LspServicesetsService::ErrortoExitedError.Servercan now accept any service whereService::Erroris convertible toBox<dyn Error + Send + Sync>. This enables compatibility with most Tower middleware.- Retain error or success from future in
ExitReceiver::run_until_exit(). - Remove
'staticbounds on someServerandExitReceivermethods.
- Add
-
0.1.009 Aug 2020Release notes
Open source →Added
- Initial crate release.
- Implement support for the following message types:
initializeinitializedshutdownexitwindow/showMessagewindow/logMessagetextDocument/publishDiagnosticstextDocument/didOpentextDocument/didChangetextDocument/didSavetextDocument/didClosetextDocument/hovertextDocument/documentHighlight