GitHub - hylo-lang/hylo-language-server: Implementation of the LSP protocol for Hylo (original) (raw)

Hylo LSP

Proof of concept LSP server for the Hylo programming language, including VS Code extension.

The Hylo VSCode extension dynamically downloads the LSP binaries for the current machine OS/architecture.

This is currently very early in development, and the project is being transitioned from the old frontend to the new one.

Features

The Hylo LSP currently support the following LSP features:

The LSP distribution currently includes a copy of the Hylo stdlib, until we have a reliable way of locating the local Hylo installation.

Developer

You can use the development container to set up a development environment easily, but as of now, the project only requires Swift 6.2 and NodeJs.

To build and install a local dev version of the LSP + VSCode extension:

./build-and-install-vscode-extension.sh

Command line tool

There is also a command line tool for interacting with the LSP backend. The command line tool is useful for debugging and testing new functionality. The LSP server is embedded in the client, which simplify debug launching and breakpoints.

Example usage:

swift run hylo-lsp-client semantic-token hylo/Examples/factorial.hylo