feat: introduce --profile for Rust CLI (#921)

This introduces a much-needed "profile" concept where users can specify
a collection of options under one name and then pass that via
`--profile` to the CLI.

This PR introduces the `ConfigProfile` struct and makes it a field of
`CargoToml`. It further updates
`Config::load_from_base_config_with_overrides()` to respect
`ConfigProfile`, overriding default values where appropriate. A detailed
unit test is added at the end of `config.rs` to verify this behavior.

Details on how to use this feature have also been added to
`codex-rs/README.md`.
This commit is contained in:
Michael Bolin
2025-05-13 16:52:52 -07:00
committed by GitHub
parent ae809f3721
commit 3c03c25e56
14 changed files with 309 additions and 15 deletions

View File

@@ -2,7 +2,7 @@ use std::collections::HashMap;
use serde::Deserialize;
#[derive(Deserialize, Debug, Clone)]
#[derive(Deserialize, Debug, Clone, PartialEq)]
pub struct McpServerConfig {
pub command: String,