Langoustine

A clean room implementation of the LSP protocol definitions.

By "clean room" we mean

  1. Using only Scala libraries
  2. Idiomatic Scala code
  3. Using Scala 3 features

Most of the code is generated directly from the recently published LSP specification in JSON format.

langoustine-lsp Scala version support

SBT

libraryDependencies += "tech.neander" %% "langoustine-lsp" % "0.0.22"

Mill

ivy"tech.neander::langoustine-lsp::0.0.22"

Scala CLI

//> using lib "tech.neander::langoustine-lsp::0.0.22"

In all of those, don't forget to add an extra % or : if targeting a non-JVM artifact

In this article