Metadata-Version: 2.1
Name: sansio-lsp-client
Version: 0.10.0
Summary: An implementation of the client side of the LSP protocol, useful for embedding easily in your editor.
Home-page: https://github.com/PurpleMyst/sansio-lsp-client
License: MIT
Keywords: sansio,languageserver
Author: Purple Myst
Author-email: PurpleMyst@users.noreply.github.com
Requires-Python: >=3.6
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: dataclasses (>=0.7,<0.8); python_version >= "3.6" and python_version < "3.7"
Requires-Dist: pydantic (>=1.7.3,<2.0.0)
Project-URL: Repository, https://github.com/PurpleMyst/sansio-lsp-client
Description-Content-Type: text/markdown

# sansio-lsp-client

An implementation of the client side of the LSP protocol, useful for embedding
easily in your editor.


## Developing

    $ git clone https://github.com/PurpleMyst/sansio-lsp-client
    $ cd sansio-lsp-client
    $ python3 -m venv env
    $ source env/bin/activate
    (env)$ pip install --upgrade pip
    (env)$ pip install poetry
    (env)$ poetry install

Most tests don't work on Windows,
but GitHub Actions runs tests of all pull requests and uploads coverage files from them.
TODO: add instructions for looking at coverage files on Windows

To run tests, first download the langservers you need.
You can mostly read `.github/workflows/test.yml`, but the Go langserver is a bit of a gotcha.
You will need to install go from https://golang.org/,
because the one from `sudo apt install golang` is too old.
Extract it inside where you cloned `sansio-lsp-client`
so that you get an executable named `sansio-lsp-client/go/bin/go`.

    $ tar xf ~/Downloads/go1.16.5.linux-amd64.tar.gz

Once you have installed all langservers you want, you can run the tests:

    (env)$ PATH="$PATH:$(pwd)/go/bin" poetry run pytest -v

