Ferris.nvim
Neovim plugin for interacting with Rust-Analyzer's LSP extensions
Install / Use
/learn @vxpm/Ferris.nvimREADME
ferris.nvim 🦀
a simple neovim plugin for interacting with Rust Analyzer's LSP extensions
installation & usage
note: this plugin has only been tested with neovim 0.9+
with lazy.nvim:
{
'vxpm/ferris.nvim',
opts = {
-- your options here
}
}
the available options (and their default values) are:
{
-- If true, will automatically create commands for each LSP method
create_commands = true, -- bool
-- Handler for URL's (used for opening documentation)
url_handler = "xdg-open", -- string | function(string)
}
you can also manually call the methods by requiring them:
local view_mem_layout = require("ferris.methods.view_memory_layout")
-- call the returned function to execute the request
view_mem_layout()
don't forget to call setup on require("ferris") beforehand, though! (not needed if
you're using the opts field in lazy.nvim)
available methods
<sub><sup>please do not mind the terrible screenshots... i was too lazy</sub></sup>
<details> <summary>Expand Macro</summary>require("ferris.methods.expand_macro")
require("ferris.methods.join_lines")
require("ferris.methods.view_hir")
require("ferris.methods.view_mir")
require("ferris.methods.view_memory_layout")
require("ferris.methods.view_item_tree")
require("ferris.methods.view_syntax_tree")
require("ferris.methods.open_cargo_toml")
require("ferris.methods.open_parent_module")
require("ferris.methods.open_documentation")
require("ferris.methods.reload_workspace")
require("ferris.methods.rebuild_macros")
contributing
just send a PR! i'll review & (hopefully) merge it as soon as i can :)
special thanks
rust-tools for being the reason why this plugins exists. initially, i didn't want any of the features it offered except for recursive expansion of macros, so i made rust-expand-macro.nvim.
however, i found myself wanting to use other methods as well, which led me to making ferris!
in comparison to rust-tools, this plugin is "simpler": it does not configure Rust Analyzer for you nor does it provide debugging utilities. whether that's better or not depends on your use case!
related projects
- rustaceanvim: spiritual successor to rust-tools, the standard plugin for configuring rust in nvim
- crates.nvim: plugin to manage crates.io dependencies in your Cargo.toml
Related Skills
himalaya
347.2kCLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
node-connect
347.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
taskflow
347.2kname: taskflow description: Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layer
frontend-design
108.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.




