Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 9 additions & 6 deletions src/commands/environment/edit.rs
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,8 @@ pub async fn edit_environment(args: Args) -> Result<()> {
);
} else if is_interactive {
println!("{}", "No changes to apply".yellow());
} else {
eprintln!("{}", "No changes to apply".yellow());
}
return Ok(());
}
Expand Down Expand Up @@ -215,16 +217,17 @@ async fn get_edit_config(
let all_configs = args.config.get_all_service_configs();
let has_cli_flags = !all_configs.is_empty();

// Priority 1: Piped stdin JSON (auto-detected)
if !stdin_is_terminal {
return read_config_from_stdin(environment_instances);
}

// Priority 2: CLI flags (--service-config, --service-variable)
// Priority 1: CLI flags (--service-config, --service-variable)
// Explicit flags always take precedence over stdin auto-detection.
if has_cli_flags {
return parse_non_interactive_configs(&all_configs, environment_instances);
}

// Priority 2: Piped stdin JSON (auto-detected)
if !stdin_is_terminal {
return read_config_from_stdin(environment_instances);
}

// Priority 3: Interactive prompts (terminal only)
if std::io::stdout().is_terminal() {
return parse_interactive_configs(
Expand Down