From 0bcc8bc656c4f6107145ee8d7ac49f57e26e0c27 Mon Sep 17 00:00:00 2001 From: Alexander Gehrke Date: Wed, 22 May 2024 03:44:40 +0200 Subject: [PATCH] fix: ensure cursor is hidden again after interactive command --- copret/src/slides.scala | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/copret/src/slides.scala b/copret/src/slides.scala index 6cac196..1c21715 100644 --- a/copret/src/slides.scala +++ b/copret/src/slides.scala @@ -97,7 +97,11 @@ object TypedCommand: c => runProcess(Vector(shell, "-c", c.mkString(" "))) def runInteractive(using cwd: Path): Vector[String] => String = - c => { os.proc(c).call(stdin = os.Inherit, stdout = os.Inherit, stderr = os.Inherit, cwd = cwd); "" } + c => + Terminal.showCursor() + os.proc(c).call(stdin = os.Inherit, stdout = os.Inherit, stderr = os.Inherit, cwd = cwd) + Terminal.hideCursor() + "" def apply(cmd: String*)(using Path): TypedCommand[Vector[String]] = TypedCommand(run, cmd.mkString(" "), cmd.toVector) @@ -114,6 +118,9 @@ object TypedCommand: def interactive(cmd: String*)(using Path): TypedCommand[Vector[String]] = TypedCommand(runInteractive, cmd.mkString(" "), cmd.toVector) + def interactiveUntyped(cmd: String*)(using Path): TypedCommand[Vector[String]] = + TypedCommand(runInteractive, cmd.mkString(" "), cmd.toVector, cmdIsHidden = true, outputIsHidden = false) + def untyped(cmd: String*)(using Path): TypedCommand[Vector[String]] = TypedCommand(exec = run, display = "", cmd.toVector, cmdIsHidden = true, outputIsHidden = false) end TypedCommand