Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Latest commit

 

History

44 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Menu

Menu ui for neovim ( supports nested menus )

image image image

simplescreenrecorder-2024-10-05_19.06.12.mp4

Install

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

Usage

require("menu").open(options, opts) 
  • options is a table or string, if string then it will look at the table from menus* module of this repo
  • opts : { mouse = true, border = false }"

For keyboard users

  • Use h l to move between windows
  • Use q to close the window
  • Press the keybind defined for menu item or scroll to it and press enter, to execute it

Examples

  • Keyboard users can run the mapping when inside the menu, mouse users can click.
-- Keyboard users
vim.keymap.set("n", "<C-t>", function()
  require("menu").open("default")
end, {})

-- mouse users + nvimtree users!
vim.keymap.set({ "n", "v" }, "<RightMouse>", function()
  require('menu.utils').delete_old_menus()

  vim.cmd.exec '"normal! \\<RightMouse>"'

  -- clicked buf
  local buf = vim.api.nvim_win_get_buf(vim.fn.getmousepos().winid)
  local options = vim.bo[buf].ft == "NvimTree" and "nvimtree" or "default"

  require("menu").open(options, { mouse = true })
end, {})

Check example of defaults menu to see know syntax of options table.

💝 Support

If you like NvChad or its plugins and would like to support it via donation

kofi paypal buymeacoffee patreon

About

Menu plugin for neovim ( supports nested menus ) made using volt

Topics

Resources

Stars

666 stars

Watchers

3 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages