Skip to content
This repository has been archived by the owner on Jul 13, 2023. It is now read-only.

willothy/nvim-utils

Repository files navigation

Nvim-Utils: Utilities for writing Neovim plugins in Rust

DeepSource DeepSource

Interacting with Neovim's lua api in Rust can be a bit of a pain. nvim-utils aims to make it easier and quicker to develop Neovim plugins in Rust by removing as much of the required boilerplate as possible, and implementing bindings for the vim.* lua api.

Warning
This library is no longer maintained.
For a more polished API, check out nvim-oxi.

Current plans

  • Integrate with the Luajit and Neovim C APIs directly
  • Minimize dependencies

Installation

cargo add nvim-utils

Features

nvim-utils provides utilities for:

  • Declaratively building lua modules using mlua
  • Interacting with Neovim's lua api
  • Logging using vim.notify
  • Accessing common lua builtin functions like require and print
  • And more to come!

Documentation

Check out the examples for a simple example plugin, or my plugins moveline and blam for slightly more complex ones.

Open docs.rs/nvim-utils for the full documentation.

Plugins using nvim-utils

If you build a plugin using nvim-utils, submit a PR or let me know and I'll list it here!