49 lines
1.1 KiB
Lua
49 lines
1.1 KiB
Lua
-- 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
|
|
if choice == 'update config' then
|
|
require('mngr.updates')
|
|
end
|
|
if choice == 'show keybinds' then
|
|
require('telescope.builtin').keymaps()
|
|
end
|
|
end
|
|
end)
|
|
end
|
|
|
|
vim.keymap.set('n', '<C-m>', configmenu, {})
|