return { { dir = "../custom/like-a-butterfly", name = "like-a-butterfly", enabled = true, lazy = false, config = function() local lab = require('like-a-butterfly') -- Configure eight homerow terminals function MakeTerm(shortcut, name, command) lab.create_term(name, command) vim.keymap.set("n", shortcut, function() lab.open_term(name) end) end vim.api.nvim_create_autocmd({ "BufEnter" }, { pattern = { "*" }, group = vim.api.nvim_create_augroup( 'like-a-butterfly', { clear = true }), callback = function() vim .schedule(function() if (vim.bo.filetype ~= "butterfly") then lab.close_all() else vim.api.nvim_feedkeys( vim.api.nvim_replace_termcodes( '^zei', true, true, true), 'i', true) vim.cmd("set sidescrolloff=" .. vim.o .columns) vim.cmd("redraw!") end end) end }) MakeTerm("stt", "Alpha", "zsh") MakeTerm("sts", "Beta", "zsh") MakeTerm("str", "Gamma", "zsh") MakeTerm("sta", "Delta", "zsh") MakeTerm("stn", "Epsilon", "zsh") MakeTerm("ste", "Zeta", "/bin/zsh ~/.scripts/omniscratch.zsh") MakeTerm("sti", "Eta", "lazydocker") MakeTerm("sto", "Theta", "lazygit") -- Keymaps vim.keymap.set("t", "", lab.close_all) vim.keymap.set("t", "", "") vim.keymap.set("t", "", "") vim.keymap.set("t", "", "") end } }