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

📦 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.

All platforms

Windows

Unix

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


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.


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


Uninstall the specified version.


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


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:

On Linux

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

On Windows

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

On MacOS

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

Syntax

jsonc // /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

Contributors


max397

👷

shift-d

👷

Aquib

👷

Viv Sedov

👷

Tarun

👷

Dev Choudhuri

👷📖🎨

Bryant

👷