bob-nvim 1.2.1

A version manager for neovim
bob-nvim-1.2.1 is not a library.

Bob

Struggle to keep your Neovim versions in check? Bob provides an easy way to install and switch versions on any system!

Bob is a cross-platform and easy-to-use Neovim version manager, allowing for easy switching between versions right from the command line.

🌟 Showcase

🔔 Notices

  • 2022-10-29: Moved bob's symbolic link and downloads folder on macos from /Users/user/Library/Application Support to ~/.local/share please make sure to move all of your downloads to the new folder, run bob use <your desired version> and update your PATH

📦 Requirements

Make sure you don't have Neovim already installed via other ways e.g. a package manager.

Build prerequisites

Building bob

Make sure rustup is installed.

Building Neovim

For further information refer to the Neovim wiki.

  • CMake
  • Git
  • Clang or GCC

MacOS note: follow these instructions

🔧 Installation

Install from releases

  1. Download bob-{platform}-x86_64.zip
  2. Unzip it
  3. Run it with bob

Install from AUR

  1. Install the bob or bob-bin package with an AUR helper e.g. paru: paru -S bob
  2. Run it with bob

Install from source

  1. cargo install --git https://github.com/MordechaiHadad/bob.git
  2. Run bob with bob

❓ Usage

A version-string can either be vx.x.x or x.x.x examples: v0.6.1 and 0.6.0


  • bob use |nightly|stable|<version-string>|<commit-hash>|

Switch to the specified version, will auto-invoke install command if the version is not installed already.

Windows side note: make sure to run the application as administrator to properly switch a version.


  • bob install |nightly|stable|<version-string>|<commit-hash>|

Install the specified version, can also be used to update out-of-date nightly version.


  • bob uninstall |nightly|stable|<version-string>|<commit-hash>|

Uninstall the specified version.


  • bob erase

Erase any change bob ever made including Neovim installation, Neovim version downloads and registry changes.


  • bob list

List all installed and used versions.


⚙ Configuration

This section is a bit more advanced and thus the user will have to do the work himself since bob doesn't do that.

Bob's configuration file will have to be in config_dir/bob/config.json, to be more specific:

/home/user/.config/bob/config.json

C:\Users\user\AppData\Roaming\bob\config.json

/Users/user/Library/Application Support/bob/config.json

Syntax

// /home/user/.config/bob/config.json
{
  "enable_nightly_info": true, // Will show new commits associated with new nightly release if enabled
  "downloads_dir": "/home/user/.local/share/bob/", // The folder in which neovim versions will be installed too, bob will error if this option is specified but the folder doesn't exist
  "installation_location": "/home/user/.local/share/neovim" // The path in which the used neovim version will be located in
}

:heart: Credits And Inspiration

  • nvm A node version manager
  • nvenv A Neovim version manager written by NTBBloodbath

Contributors