-- custom menu for simpler neovim managment ----------------------------------- local function genmenu() local list = {} local function add(name, plug) if not plug then table.insert(list, name) return end if package.loaded[plug] then table.insert(list, name) end end add('edit config', nil) add('update plugins', 'dep') add('update config', nil) add('show keybinds', 'telescope') return list end local function configmenu() local list = genmenu() vim.ui.select(list, { vpt = 'Config Menu' }, function(choice) if choice == 'edit config' then vim.cmd('e $XDG_CONFIG_HOME/nvim/init.lua') end if choice == 'update plugins' then require('dep').sync() if package.loaded['nvim-treesitter'] then vim.cmd('TSUpdate') end if package.loaded['mason'] then require('mason.api.command').MasonUpdate() end end if choice == 'update config' then require('mngr.updates') end if choice == 'show keybinds' then require('telescope.builtin').keymaps() end end) end vim.keymap.set('n', 'm', configmenu, {})