From 5f1f034ea93b27603bbc428db4f9191db9637de2 Mon Sep 17 00:00:00 2001 From: NathanFlurry Date: Sun, 1 Dec 2024 17:25:15 +0000 Subject: [PATCH] chore: support ctrl c in logs (#586) Fixes RVT-4211 --- packages/cli/src/commands/mod.rs | 2 +- packages/cli/src/util/actor/logs.rs | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/cli/src/commands/mod.rs b/packages/cli/src/commands/mod.rs index 454e0d22..cc2c1912 100644 --- a/packages/cli/src/commands/mod.rs +++ b/packages/cli/src/commands/mod.rs @@ -20,7 +20,7 @@ pub enum SubCommand { Signout(sign_out::Opts), #[clap(alias = "d")] Deploy(deploy::Opts), - #[clap(alias = "e")] + #[clap(alias = "e", alias = "env")] Environment { #[clap(subcommand)] subcommand: environment::SubCommand, diff --git a/packages/cli/src/util/actor/logs.rs b/packages/cli/src/util/actor/logs.rs index 0fc56b7f..e24c4eda 100644 --- a/packages/cli/src/util/actor/logs.rs +++ b/packages/cli/src/util/actor/logs.rs @@ -1,6 +1,7 @@ use anyhow::*; use base64::{engine::general_purpose::STANDARD, Engine}; use clap::ValueEnum; +use tokio::signal; use toolchain::rivet_api::{apis, models}; use uuid::Uuid; @@ -21,6 +22,15 @@ pub struct TailOpts<'a> { } pub async fn tail(ctx: &toolchain::ToolchainCtx, opts: TailOpts<'_>) -> Result<()> { + tokio::select! { + result = inner_tail(ctx, opts) => result, + _ = signal::ctrl_c() => { + Ok(()) + } + } +} + +async fn inner_tail(ctx: &toolchain::ToolchainCtx, opts: TailOpts<'_>) -> Result<()> { let mut watch_index: Option = None; let stream = match opts.stream { @@ -64,3 +74,4 @@ pub async fn tail(ctx: &toolchain::ToolchainCtx, opts: TailOpts<'_>) -> Result<( Ok(()) } +