nvim-macrotool/lua/macrotool/init.lua

32 lines
594 B
Lua

local M = {}
local api = vim.api
local keystrokes = {}
-- Only for debugging
if vim == nil then
vim = {}
end
function M.Macrochain()
vim.print(table.concat(keystrokes, ""))
end
-- @name record_keystroke
-- @param mapped_key
-- @param raw_key
-- @short Add mapped_key to keystrokes
local record_keystroke = function(mapped_key, raw_key)
table.insert(keystrokes, raw_key)
if #keystrokes > 60 then
local temp_keystrokes = {}
for i = 31, #keystrokes do
table.insert(temp_keystrokes, keystrokes[i])
end
keystrokes = temp_keystrokes
end
end
vim.on_key(record_keystroke)
return M