summaryrefslogtreecommitdiff
path: root/lua/binds.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/binds.lua')
-rw-r--r--lua/binds.lua45
1 files changed, 45 insertions, 0 deletions
diff --git a/lua/binds.lua b/lua/binds.lua
index beef6fb..291bfb8 100644
--- a/lua/binds.lua
+++ b/lua/binds.lua
@@ -30,6 +30,51 @@ ct.map('n', '<Leader>wq', '<cmd>w<CR><cmd>bd<CR>')
ct.map('n', '<Leader>e', '<cmd>Explore<CR>')
--
+-- LSP
+--
+local lsp_buf = vim.lsp.buf
+
+-- Function to convert snake_case to PascalCase
+local function snake_to_pascal(name)
+ return name:gsub('_', ''):gsub("(%a)(%w*)", function(first, rest)
+ return first:upper() .. rest:lower()
+ end)
+end
+
+for func_name, _ in pairs(lsp_buf) do
+ if type(lsp_buf[func_name]) == "function" then -- Check if the value is a function
+ local command_name = 'LspBuf' .. snake_to_pascal(func_name)
+ vim.api.nvim_create_user_command(
+ command_name,
+ function()
+ lsp_buf[func_name]() -- Call the function from the table
+ end,
+ {desc = "Run LSP Buffer Function: " .. func_name}
+ )
+ end
+end
+
+function toggle_background()
+ local bg = vim.o.background
+
+ if bg == "dark" then
+ vim.cmd("set background=light")
+ else
+ vim.cmd("set background=dark")
+ end
+
+ -- Query the current colorscheme
+ --[[ local colorscheme = vim.fn.executable('colorscheme') or ""
+ -- colorscheme = colorscheme:match("^%s*(.-)%s*$")
+
+ -- Reload the colorscheme if it was set
+ if colorscheme ~= "" then
+ vim.cmd("colorscheme " .. colorscheme)
+ end ]]--
+end
+
+ct.map('n', '<Leader>b', '<cmd>lua toggle_background()<CR>')
+--
-- Commands
--
-- ct.defcmd('Xrdb', '!xrdb %')