summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--init.lua3
-rw-r--r--lua/mngr/init.lua2
-rw-r--r--lua/mngr/menu.lua41
-rw-r--r--lua/mngr/updates.lua0
4 files changed, 46 insertions, 0 deletions
diff --git a/init.lua b/init.lua
index c24c4a0..897bef1 100644
--- a/init.lua
+++ b/init.lua
@@ -13,3 +13,6 @@ require('snippet.shorthands')
for _, file in ipairs(vim.fn.readdir(vim.fn.stdpath('config')..'/lua/snippet', [[v:val =~ '\.lua$']])) do
require('snippet.'..file:gsub('%.lua$', ''))
end
+
+-- call the config manager ----------------------------------------------------
+require('mngr')
diff --git a/lua/mngr/init.lua b/lua/mngr/init.lua
new file mode 100644
index 0000000..c72f50f
--- /dev/null
+++ b/lua/mngr/init.lua
@@ -0,0 +1,2 @@
+require('mngr.menu')
+require('mngr.updates')
diff --git a/lua/mngr/menu.lua b/lua/mngr/menu.lua
new file mode 100644
index 0000000..9b68236
--- /dev/null
+++ b/lua/mngr/menu.lua
@@ -0,0 +1,41 @@
+-- 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)
+
+ 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
+ end)
+end
+
+vim.keymap.set('n', '<leader>m', configmenu, {})
diff --git a/lua/mngr/updates.lua b/lua/mngr/updates.lua
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/lua/mngr/updates.lua