Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/viniarck/nvimhost-scala
:diamonds: nvim host plugin provider and API client library in Scala
https://github.com/viniarck/nvimhost-scala
akka api client messagepack nvim plugin scala
Last synced: 1 day ago
JSON representation
:diamonds: nvim host plugin provider and API client library in Scala
- Host: GitHub
- URL: https://github.com/viniarck/nvimhost-scala
- Owner: viniarck
- License: apache-2.0
- Archived: true
- Created: 2019-05-07T01:13:24.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-11-12T12:48:01.000Z (about 4 years ago)
- Last Synced: 2025-01-21T02:44:25.683Z (3 days ago)
- Topics: akka, api, client, messagepack, nvim, plugin, scala
- Language: Scala
- Homepage:
- Size: 92.8 KB
- Stars: 19
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![pipeline status](https://gitlab.com/viniarck/nvimhost-scala/badges/master/pipeline.svg)](https://gitlab.com/viniarck/nvimhost-scala/commits/master)![Maven Central](https://img.shields.io/maven-central/v/io.github.viniarck/nvimhost-scala_2.13.svg?style=plastic)
## nvimhost-scala
Neovim (nvim) host plugin provider and API client library in [Scala](https://www.scala-lang.org/).
![nvimhost-scala](./design/nvimhostscala.png)
## Screencast
![screencast](https://s8.gifyu.com/images/nvimhost-scala.gif)
## 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](./src/main/scala/io/github/viniarck/nvimhost/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/plugin_how_to.md).### 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](./.gitlab-ci.yml) there's a complete example how to compile, source (from Neovim) and run the plugin.
- In the test folder, on [build.sbt](./src/test/build.sbt) you can find a base configuration to start your build.sbt configuration.