Releases: ebkalderon/tower-lsp
Releases · ebkalderon/tower-lsp
tower-lsp 0.8.0
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 afterexit
notification, meaning there is no longer a need forExitReceiver::run_until_exit
and theServer::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 andLspService::close_handle()
method (PR #117).
tower-lsp 0.7.0
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
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
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
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
Added
- Implement support for
textDocument/completion
request.
Changed
- Expose
Printer
inLanguageServer::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
, andtelemetry/event
server-to-client notifications ininitialize
request (PR #48). - Update links to the LSP specification website to point to the new URL.
tower-lsp 0.3.1
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
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()
todocument_highlight()
to better match the specification. - Make all notification methods into provided methods (PR #34).
- Change
LspService
request type fromString
toIncoming
(PR #28). - Update
Server
to spawn services withIncoming
request type. - Use
env_logger
to print log messages in examples.
tower-lsp 0.2.0
Added
- Add
ExitedError
for when callingLspService
after it has already exited.
Changed
- Language server now returns server error code
-32002
if any method is called beforeinitialize
request is received, as per the spec. LspService
setsService::Error
toExitedError
.Server
can now accept any service whereService::Error
is 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
'static
bounds on someServer
andExitReceiver
methods.
tower-lsp 0.1.0
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