Creating language tooling with features like inline errors, code completion, code navigation and rename refactoring is generally a giant undertaking that takes months. Miksilo greatly simplifies this process, and allows you to create tooling for a small language in a day. All that’s needed is to specify a language definition.
Miksilo provides tooling for many different editors by leveraging the language server protocol, which is a way for editors to connect to language tooling providers like Miksilo. Given a language definition, Miksilo can start an LSP server for this language, which other editors can connect to.
The easiest way to preview language tooling built with Miksilo is by using the Miksilo extension for Visual Studio Code. To do that, follow these steps:
- Let the Miksilo LSP server know your language by adding it to the
languages
variable inlanguageServer/src/main/scala/languageServer/Program.scala
. - Let the Miksilo VS Code extension know your language by configuring
vscode-extension/package.json
and thelanguages
variable invscode-extension/src/extension.ts
- Make VS Code available on your path by following these instructions.
- Go to the Miksilo root folder and run
sbt vscode
. This will:- Assemble the Miksilo LSP server as a
.jar
file. - Compile the Miksilo extension for VS Code in your repository.
- Start VS Code with the VS Code Miksilo extension enabled and configured with the path to the assembled
.jar
.
- Assemble the Miksilo LSP server as a