viniarck / nvimhost-scala

:diamonds: nvim host plugin provider and API client library in Scala

Version Matrix

pipeline statusMaven Central

nvimhost-scala

Neovim (nvim) host plugin provider and API client library in Scala.

nvimhost-scala

Screencast

screencast

Goals

  • Provide an API for other projects to integrate with nvim.
  • Provide a library for high-performance plugins with Scala static types.
  • Pay the JVM startup cost only once (when the plugin is first called).

Docs

  • You can find the API client code on Api.scala, it's fully asynchronous based on scala.concurrent.Future
  • If you want to develop a plugin you should read how to write a plugin.

Docs TLDR for Scala 2.13

libraryDependencies += "io.github.viniarck" %% "nvimhost-scala" % "1.1.0"

How to compile with SBT

  • In the CI yml file there's a complete example how to compile, source (from Neovim) and run the plugin.
  • In the test folder, on build.sbt you can find a base configuration to start your build.sbt configuration.