nvim-macrotool/lua/macrotool/init.lua

41 lines
773 B
Lua

local M = {}
local api = vim.api
local keystrokes = {}
-- Only for debugging
if vim == nil then
vim = {}
end
-- @name match_sequence
-- @short Match a sequence.
local function match_sequence()
for i = 5, #keystrokes do
vim.print("Checking match sequence!")
end
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)
match_sequence()
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