Metadata-Version: 2.1
Name: lsp-devtools
Version: 0.2.0
Summary: Developer tooling for language servers
Author-email: Alex Carney <alcarneyme@gmail.com>
License: MIT
Project-URL: Bug Tracker, https://github.com/swyddfa/lsp-devtools/issues
Project-URL: Documentation, https://swyddfa.github.io/lsp-devtools/
Project-URL: Source Code, https://github.com/swyddfa/lsp-devtools
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aiosqlite
Requires-Dist: importlib-resources; python_version < "3.9"
Requires-Dist: platformdirs
Requires-Dist: pygls>=1.1.0
Requires-Dist: stamina
Requires-Dist: textual>=0.38.0
Requires-Dist: typing-extensions; python_version < "3.8"
Provides-Extra: dev
Requires-Dist: black; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Requires-Dist: pre-commit; extra == "dev"
Requires-Dist: tox; extra == "dev"
Provides-Extra: typecheck
Requires-Dist: mypy; extra == "typecheck"
Requires-Dist: importlib_resources; extra == "typecheck"
Requires-Dist: types-setuptools; extra == "typecheck"
Provides-Extra: prometheus
Requires-Dist: prometheus_client; extra == "prometheus"

# lsp-devtools: Developer tooling for language servers

This package provides a collection of cli utilities to support the development of language servers.
While this is a Python package, it can be used with language servers written in any langauge.

![lsp-devtools client](https://user-images.githubusercontent.com/2675694/273293510-e43fdc92-03dd-40c9-aaca-ddb5e526031a.png)

Available commands: 

- `agent`: Wraps a language server, allows the other commands to access the messages sent between client and server.
- `client`: **Experimental** a language client with an embedded inspector. Powered by [textual](https://textual.textualize.io/)
- `record`: Connects to an agent and record traffic to file, sqlite db or console. Supports filtering and formatting the output
- `inspect`: A text user interface to visualise and inspect LSP traffic. Powered by [textual](https://textual.textualize.io/)

See the [documentation](https://lsp-devtools.readthedocs.io/en/latest/) for more information

## Installation

Install using [pipx](https://pypa.github.io/pipx/)

```
pipx install lsp-devtools
```
