Virgo (Vim & Cargo) is a Rust crate management system, seamlessly integrated into Vim. Search for crates, manage crate features, update Cargo.toml, track dependencies, manage your lockfile, explore trending crates, access documentation, extract examples from docs.rs and so much more - all without ever leaving Vim!
🚀 Currently at v1.3.5!
✅ Crate Management – Search, add, remove, update, and rollback Rust crates effortlessly.
✅ Feature Orchestration – Add and remove crate features on the fly.
✅ Native Vim Compatibility – Seamlessly integrates with Vim using intuitive :virgo
commands.
✅ Blazing Fast Performance – Built in Rust for maximum speed and efficiency.
✅ Fully Automated – No manual edits needed; Virgo takes care of Cargo.toml
for you.
✅ Crate Info – Discover documentation, stats, and detailed crate info directly in Vim.
✅ Seamless Integration – Execute streamlined commands instantly using :virgo
.
✅ Backup & Restore – Secure your Cargo.toml
, rollback safely, and prevent accidental changes.
✅ Visual Feedback – Enhanced output formatting for structured readability and usability.
✅ Dependency Insights – Examine dependencies, visualize trees, track updates, and filter changelogs.
✅ Breaking Changes – Analyze Cargo.toml
for breaking updates before they happen.
✅ Rollback Protection – Easily revert changes, maintain stability, and prevent unintended updates.
✅ Optimized Performance – Built in Rust for blazing-fast execution and efficiency.
✅ Compare Versions – Instantly compare bleeding-edge vs latest stable versions.
✅ Docs Lookup – Fetch crate documentation and examples directly from docs.rs.
✅ Standalone Outdated Check – Identify outdated dependencies without relying on Cargo.
✅ Complete Cargo.toml Management – Health checks, edits, structured initialization, and validation.
UI Improvements – Displaying crates, versions and features is more refined.
Added flags :virgo add <crate> -f <feature>
– Add a crates feature with -f
Added flags :virgo remove <crate> -f <feature>
– Remove a crates feature with -f
Add this to your Vim configuration (~/.vimrc
or ~/.config/nvim/init.vim
):
Plug 'dntstck/virgo'
Then run:
:PlugInstall
Add this to your .vimrc
:
Plugin 'dntstck/virgo'
Then install it with:
:PluginInstall
Clone the repo into your Vim bundle directory:
git clone https://github.com/dntstck/virgo-vim ~/.vim/bundle/virgo-vim
:virgo search" Search for a crate on crates.io
:virgo stats " Display the stats of a crate
:virgo info" Displays detailed info of a crate
:virgo versions" Displays all available versions of a crate
:virgo trending" Displays trending crates
:virgo add " Adds selected crate
:virgo remove" Removes selected crate
:virgo update" Updates selected dependency
:virgo rollback" Rolls back to a previous version
:virgo compare " Compares bleeding-edge with latest stable version of a selected crate
:virgo depends " Displays all the dependencies of a selected crate
:virgo all " Displays all installed dependencies in Cargo.toml
:virgo health" Checks current Cargo.toml for overall health
:virgo breaking" Analyzes Cargo.toml for breaking changes
:virgo lockfile" Inspects Cargo.lock for precise version tracking
:virgo changelog " View changelog for a selected crate (Filter by major, minor, patch, since x.x.x & more)
:virgo tree" Display a tree of dependencies for a crate
:virgo init" Creates a basic Cargo.toml in the current dir
:virgo edit" Edit Name, Version, and Edition in the current Cargo.toml
:virgo backup" Backup Cargo.toml
:virgo restore " Restore Cargo.toml from latest backup
:virgo docs "View documentation for a selected crate, use -o to open in docs.rs or -e to view examples
:virgo help "Print this message or the help of the given subcommand(s)
:virgo about "Display information about Virgo
Instantly add crates without leaving Vim.
Displays all currently installed dependencies in Cargo.toml.
Secure your Cargo.toml before making changes.
Analyze Cargo.toml for potential breaking updates.
Filter changelogs by major, minor, patch, or version.
Instantly compare bleeding-edge with latest stable.
Display dependencies of a selected crate.
Quickly fetch crate documentation and code examples.
Displays example snippets for a selected crate.
Open crate documentation directly in a browser.
Modify Name, Version, and Edition in Cargo.toml.
Verify the integrity and structure of Cargo.toml.
Display detailed information about a crate.
Track precise crate versions in Cargo.lock.
Identify outdated dependencies without Cargo.
Easily remove a selected crate.
Revert Cargo.toml to a previous backup.
Roll back crates to a previous version.
Find dependencies with blazing-fast lookup.
Display download counts, ratings, and more.
Display a structured dependency tree for a crate.
Find trending crates on crates.io.
Update a dependency to the latest stable version.
Display all available versions of a crate.
Permission Denied?
chmod +x ~/.vim/bundle/virgo/bin/virgo
Cargo.lock Conflicts?
cargo generate-lockfile