NvChad / menu

Menu plugin for neovim ( supports nested menus ) made using volt
GNU General Public License v3.0
317 stars 5 forks source link
lua menu neovim neovim-plugin nvchad

Menu

Menu ui for neovim ( supports nested menus )

image image image

https://github.com/user-attachments/assets/89d96170-e039-4d3d-9640-0fdc3358a833

Install

{ "nvchad/volt" , lazy = true },
{ "nvchad/menu" , lazy = true },

Usage

require("menu").open(options, opts) 

For keyboard users

Examples

-- mouse users + nvimtree users! vim.keymap.set("n", "", function() vim.cmd.exec '"normal! \"'

local options = vim.bo.ft == "NvimTree" and "nvimtree" or "default" require("menu").open(options, { mouse = true }) end, {})



Check example of [defaults menu](https://github.com/NvChad/menu/blob/main/lua/menus/default.lua) to see know syntax of options table.

### Why?

I know a lot of you all would be infuriated by this plugin. here are some reasons for me to use it:

- There are times when i'd want to perform some action but i dont want to set command/mapping for it, like one of those gitsigns commands, they're very useful and so many commands but i rarely use them. So a menu option with quick mouse click 
or menu opened from keybind would suffice!

- I already got so many keybinds, I dont want to add more if I dont use it too frequently so I could use this menu!

- I use my pc for more than 10 hours a day ( including, for the remote job I got ) and my keyboard usage is very high cuz of Vim so at times my fingers hurt and using mouse would tone it down.