aboutsummaryrefslogtreecommitdiffstats
path: root/lua/config/utils.lua
diff options
context:
space:
mode:
authorElvis Claros Castro <elvis@claros.ar>2024-12-09 11:24:40 -0300
committerElvis Claros Castro <elvis@claros.ar>2024-12-09 11:24:40 -0300
commit4439edc5a91582f570551e5e849347a80bde40ee (patch)
tree00e93e727e43b5e98fbd38dbb6be5b60f2203847 /lua/config/utils.lua
parente00fc002a6441fa3741d1f705337efbbd8850744 (diff)
downloadnvim-conf-4439edc5a91582f570551e5e849347a80bde40ee.tar.gz
nvim-conf-4439edc5a91582f570551e5e849347a80bde40ee.zip
Modifico Las configuraciones de copilot-chat
Diffstat (limited to 'lua/config/utils.lua')
-rw-r--r--lua/config/utils.lua73
1 files changed, 73 insertions, 0 deletions
diff --git a/lua/config/utils.lua b/lua/config/utils.lua
new file mode 100644
index 0000000..ea8a5c9
--- /dev/null
+++ b/lua/config/utils.lua
@@ -0,0 +1,73 @@
+local wk = require('which-key')
+local group = vim.api.nvim_create_augroup('NeoVimRc', { clear = true })
+
+local M = {}
+
+M.dot = function(callback)
+ return function()
+ _G.dot_repeat_callback = callback
+ vim.go.operatorfunc = 'v:lua.dot_repeat_callback'
+ vim.cmd('normal! g@l')
+ end
+end
+
+M.map = function(mode, keys, func, desc, buffer, dot)
+ if dot then
+ if func then
+ local f = func
+ func = M.dot(function()
+ f()
+ end)
+ end
+ if desc then
+ desc = desc .. ' [R]'
+ end
+ end
+
+ vim.keymap.set(mode, keys, func, { buffer = buffer, desc = desc, remap = true, nowait = true })
+end
+
+M.nmap = function(keys, func, desc, buffer)
+ M.map('n', keys, func, desc, buffer)
+end
+
+M.rnmap = function(keys, func, desc, buffer)
+ M.map('n', keys, func, desc, buffer, true)
+end
+
+M.vmap = function(keys, func, desc, buffer)
+ M.map('v', keys, func, desc, buffer)
+end
+
+M.rvmap = function(keys, func, desc, buffer)
+ M.map('v', keys, func, desc, buffer, true)
+end
+
+M.nvmap = function(keys, func, desc, buffer)
+ M.map({ 'n', 'v' }, keys, func, desc, buffer)
+end
+
+M.rnvmap = function(keys, func, desc, buffer)
+ M.map({ 'n', 'v' }, keys, func, desc, buffer, true)
+end
+
+M.au = function(event, opts)
+ opts['group'] = group
+ return vim.api.nvim_create_autocmd(event, opts)
+end
+
+M.desc = function(key, desc, icon)
+ local opts = { key, desc = desc }
+ if icon then
+ opts.icon = icon
+ end
+ wk.add(opts)
+end
+
+M.make_capabilities = function()
+ local capabilities = vim.lsp.protocol.make_client_capabilities()
+ capabilities = vim.tbl_deep_extend('force', capabilities, require('autocomplete.capabilities'))
+ return capabilities
+end
+
+return M