Skip to content
Neovim Java client library. Provides multiple interfaces for communicating with Neovim instance via multiple different protocols.
Java Other
  1. Java 99.8%
  2. Other 0.2%
Branch: master
Clone or download
esensar Merge pull request #92 from esensar/83-nvim-v5-ui-events
Implement NVIM API v5 UI events
Latest commit 7873cc8 Oct 22, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.buildscript
api-explorer Update dependencies and outdated module info Oct 7, 2019
core-rpc
handler-annotations Version 0.1.13 release Dec 6, 2018
neovim-api Implement new NVIM API v5 buffer methods Oct 21, 2019
neovim-notifications Implement NVIM API v5 UI events Oct 22, 2019
neovim-rx-api
reactive-core-rpc Version 0.1.13 release Dec 6, 2018
testing-helpers Fix ManualQueueExecutorServiceTest Oct 21, 2019
unix-socket-connection Version 0.1.13 release Dec 6, 2018
.gitignore Initialize project May 23, 2018
.travis.yml Migrate to JDK 13 Oct 7, 2019
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md Oct 7, 2019
LICENSE Initialize project May 23, 2018
README.md
pom.xml Add bytebuddy and objenesis dependencies to fix mockito issues Oct 21, 2019

README.md

neovim-java

Build Status Maven Central

Neovim Java client

Consists of following modules:

  • Core RPC - core of the library providing most basic interface for communicating with Neovim - it can be used without other modules, but other modules are recommended for most uses
  • Reactive Core RPC - simple wrapper around Core RPC module for providing a reactive interface
  • Unix Socket Connection - simple addition of another RPCConnection for using unix domain sockets
  • Neovim API - main interface for communicating with neovim. This is the recommended module to use, it provides a reactive interface and greatly simplified interface, providing complete implementations for all functions provided by Neovim.
  • Neovim Rx API - small wrapper around Neovim API providing RxJava2 interface instead of Java reactive interface
  • Handler annotations - addition allowing creation of annotation based handlers for requests and notifications
  • Neovim notifications - addition allowing usage of notifications through Java 9 Flows interface and also provides data models for all neovim notifications
  • API Explorer - simple JavaFX application used for testing library and exploring neovim API

Many features are not completely tested and this library was mostly built to experiment with Neovim RPC API, but there should be no issues with using this library.

To include this library right away and start working with Neovim, Neovim API is enough.

Include it in your dependencies:
Maven(Neovim API):

<dependency>
  <groupId>com.ensarsarajcic.neovim.java</groupId>
  <artifactId>neovim-api</artifactId>
  <version>${neovimjava.version}</version>
</dependency>

Gradle(Neovim API):

compile 'com.ensarsarajcic.neovim.java:neovim-api:${neovimjava.version}'

Or if you prefer RxJava2, use Neovim Rx API:
Maven(Neovim Rx API):

<dependency>
  <groupId>com.ensarsarajcic.neovim.java</groupId>
  <artifactId>neovim-rx-api</artifactId>
  <version>${neovimjava.version}</version>
</dependency>

Gradle(Neovim Rx API):

compile 'com.ensarsarajcic.neovim.java:neovim-rx-api:${neovimjava.version}'

For more information, check out README of modules you are interested in.

You can’t perform that action at this time.