diff --git a/lua/sidekick/cli/session/zellij.lua b/lua/sidekick/cli/session/zellij.lua index 61c36ee4..478f0d35 100644 --- a/lua/sidekick/cli/session/zellij.lua +++ b/lua/sidekick/cli/session/zellij.lua @@ -110,28 +110,17 @@ function M.sessions() return ret end --- function M:dump() --- do --- -- sigh, another broken zellij feature --- -- dump-screen doesn't include ansi escape sequences --- -- just the raw text --- return --- end --- local tmp = Config.state("zellij-dump.txt") --- local ok = Util.exec({ "zellij", "-s", self.mux_session, "action", "dump-screen", "-f", tmp }, { --- notify = true, --- }) --- if not ok then --- return --- end --- local f = io.open(tmp, "r") --- if not f then --- return --- end --- vim.fn.delete(tmp) --- local content = f:read("*a") --- f:close() --- return content --- end +function M:dump() + if self.mux_session == nil then + return + end + local ok, ret = Util.exec({ "zellij", "-s", self.mux_session, "action", "dump-screen", "-f", "--ansi" }, { + notify = true, + }) + if not ok or ret == "" then + return + end + return ret +end return M