The Helios Language Server (Helios-LS) is an intermediary between an editor and the Helios programming language. It implements the Language Server Protocol, which easily provides Helios with essential editor functionalities such as autocomplete, go-to definitions and find-all-references.
This project is still in its early stages of development. So far, only a limited number of features is provided. You may see the progress of the project under the Progress section.
Building and testing is as easy as the following:
$ cargo build # building
$ cargo test # testing
Once this crate has been built, the executable produced will be called
helios-ls
. For now, the server can only be communicated via standard input and
output (stdin
and stdout
).
You should not need to invoke this executable manually – that is what clients are for. At the moment, there is only one client implementation available: Helios for Visual Studio Code). This client (essentially a VS Code language extension) will handle the communication between it and this language server for you as well as provide editor-specific features previously mentioned.
The following is a list of all the completed and planned methods in the Language Server Protocol. Those with a tick in the checkbox beside them have been completed but may still be subject to implementation changes in the future.
-
initialize
-
textdocument/didOpen
-
textdocument/didChange
-
textdocument/didSave
-
textdocument/completion
-
textdocument/hover
-
textdocument/rename
Unless explicitly stated otherwise, all files in this directory are licensed under the Apache License, Version 2.0.
The Helios logo (the "hand-drawn" sun) is licensed under a Creative Commons Attribution 4.0 International License.