SLS implements a Language Server for Storyscript.
TBD (work in progress).
Work in a fresh virtual environment:
virtualenv venv -p /usr/bin/python3.6
. ./venv/bin/activate
And then install all dependencies:
pip install -r requirements.txt
You can start the LSP server with:
./sls.py
Furthermore, install pre-commit and set up a git hook:
pip install --user pre-commit
pre-commit install
This will ensure that every commit is formatted according to black
.
- Setup the VS client
Initially the dependencies of the VSCode extension need to be fetched:
cd client
npm install --prefix client
- Start a TCP LSP server
./sls.py tcp
- Open up VSCode
cd client
npm run --prefix client vscode
VSCode will automatically try to reconnect if the socket has been lost.
You can also start up a VSCode instance via VSCode. This will allow you to debug into an extension.
- Open VSCode
- Open Folder (-> select "/client")
- View -> Debug
- Run "Launch Client"
- Open up a directory with Storyscript files or create a new
.story
file
If a Stdio server is used, it will automatically spawn the server and connect to it. On changes to the server, it can be killed by e.g.:
pkill sls.py
VSCode will automatically respawn a new LSP server instance.
If you want to continuously build the client extension, do:
npm run --prefix client watch
For problems directly related to the SLS, add an issue on GitHub. For other issues, submit a support ticket.