Releases: swyddfa/lsp-devtools
pytest-lsp v0.3.1 - 2023-10-06
v0.3.1 - 2023-10-06
This release includes some minor breaking changes if you were using the lower-level APIs e.g make_client_server.
See this commit for a sample migration
Enhancements
- pytest-lsp's LanguageClient is now based on the one provided by pygls. The main benefit is that the server connection is now based on an asyncio.subprocess.Process removing the need for pytest-lsp to constantly check to see if the server is still running. (#61)
- Fixtures created with the @pytest_lsp.fixture decorator can now request additional pytest fixtures (#71)
- It is now possible to set the environment variables that the server under test is launched with. (#72)
- It is now possible to test any JSON-RPC based server with pytest-lsp. Note however, this support will only ever extend to managing the client-server connection. (#73)
lsp-devtools v0.2.0 - 2023-10-06
v0.2.0 - 2023-10-06
Features
- Experimental Add proof of concept lsp-devtools client command that builds on textual's TextArea widget to offer an interactive language server client. (#83)
Fixes
- The lsp-devtools agent command no longer fails to exit once an LSP session closes. (#17)
- lsp-devtools record no longer emits a ResourceWarning (#28)
- As a consequence of the new architecture, commands like lsp-devtools record no longer miss the start of an LSP session (#29)
- lsp-devtools agent no longer emits Unable to send data, no available transport! messages (#38)
pytest-lsp v0.3.0 - 2023-05-19
v0.3.0 - 2023-05-19
Features
@pytest_lsp.fixture now supports the yield statement, allowing the client fixture definition to be responsible for initialising and shutting down the LSP session granting the test author full control over the contents of the initialize request.
This is a breaking change, see the documentation for details and this PR for an example migration. (#47)
If a client's capabilities has been set, pytest-lsp will automatically check the server's response to see if it is compatible with the capabilities the client provided.
If an issue is detected, pytest-lsp will emit an LspSpecificationWarning
Note: This relies on a dedicated check_xxx function being written for each request so only a subset of the LSP spec is currently supported. (#57)
Docs
Misc
- The client-server connection is now managed by a single asyncio event loop, rather than spinning up multiple threads, resulting in a much simpler architecture. (#44)
Pytest LSP v0.2.1 - 2023-01-14
v0.2.1 - 2023-01-14
Fixes
- Ensure that the test client returns a ShowDocumentResult for window/showDocument requests. (#34)
LSP Devtools v0.1.1 - 2023-01-14
Pytest LSP v0.2.0 - 2023-01-10
LSP Devtools v0.1.0 - 2023-01-10
v0.1.0 - 2023-01-10
Features
Updated record command.
It is now capable of live streaming messages sent between a client and server to stdout, plain text files or a SQLite database.
It also offers a number of filters for selecting the messages you wish to record, as well as a (WIP!) format string syntax for controlling how messages are formatted. (#26)
Add tui command.
A proof of concept devtools TUI implemented in textual, that live updates with the LSP messages sent between client and server!
Requires the server be wrapped in an agent. (#27)
Misc
- Migrated to v1.0 (#26)
Pytest LSP v0.1.3 - 2022-10-15
v0.1.3 - 2022-10-15
Fixes
- Check that server provided for testing doesn't crash within the first 0.1 seconds
- Return INITIALIZE response from ClientServer.start(). This allows tests to assert against the server's INITIALIZE response without resending the INITIALIZE request in the actual test. (#22)