NTBBloodbath/nvenv

github github
externalversion-manager
stars 52
issues 1
subscribers 3
forks 4
CREATED

2021-04-10

UPDATED

3 years ago


Nvenv

License Latest Release GitHub Workflow Status (branch)

FeaturesInstallUsageBuildingContribute


Nvenv is a lightweight and blazing fast Neovim version manager, made using Vlang.

Features

  • Extremely lightweight (~300kB)
  • Blazing fast execution time (<1s execution time)
  • No heavy dependencies

Install

Supported OS:

  1. Linux

  2. MacOS (Untested, if you found issues please report them!)

Dependencies

  • jq
  • tar
  • curl

Usage

Just run nvenv help and see the available commands or nvenv help [command] for help with a specific command.

❯ nvenv help
Usage: nvenv [commands]

A lightweight and blazing fast Neovim version manager

Commands:
  setup               Set up required files and directories, required at first usage.
  ls                  List your installed versions.
  list-remote         List the available versions.
  install             Install a version.
  uninstall           Uninstall a version.
  update-nightly      Update Neovim Nightly version.
  use                 Use a specific version.
  clean               Clean Nvenv cache files.
  help                Prints help information.
  version             Prints version information.

Example

# First we need to setup nvenv to create its directories.
nvenv setup

# Then we install Neovim Nightly and latest stable (0.4.4).
# The first version downloaded will be used by default.
nvenv install nightly
nvenv install stable

# To switch to Neovim stable
nvenv use stable

NOTE: You need to add $HOME/.local/bin to your $PATH!

export PATH=$HOME/.local/bin:$PATH. In this way, the shell will prefer to use the version that is being used in Nvenv instead of the version installed on the system.


Building

Dependencies

First, you need to download the Nvenv repository (I assume that you have already installed V).

git clone https://github.com/NTBBloodbath/nvenv

If you use GNU Make then you can just run it for build

# Available platforms: linux, macos
make your_platform

Otherwise, you can compile it manually

v -prod nvenv.v

Contribute

  1. Fork it (https://github.com/NTBBloodbath/nvenv/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

NOTE: Before commit your changes, format the code by running make fmt.

License

nvenv is MIT Licensed.