summaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2023-03-02 22:25:55 +0800
committersigoden <sigoden@gmail.com>2023-03-02 22:26:32 +0800
commit97af9322e76ff5ec9ca89fc938835ec622731528 (patch)
treedc758d957cd84b86f82424f649cca0643ab617df /src/main.rs
parentf66d33e324e5b5894771f7005411e261bb85f0f1 (diff)
downloadaichat-97af9322e76ff5ec9ca89fc938835ec622731528.tar.gz
feat: support list roles with --list-roles
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs
index de61a03..8ee2e96 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -49,6 +49,13 @@ fn start() -> Result<()> {
env!("CARGO_PKG_REPOSITORY")
))
.arg(
+ Arg::new("list-roles")
+ .short('L')
+ .long("list-roles")
+ .action(ArgAction::SetTrue)
+ .help("List all roles"),
+ )
+ .arg(
Arg::new("role")
.short('r')
.long("role")
@@ -82,6 +89,11 @@ fn start() -> Result<()> {
text = Some(role.generate(text_));
};
+ if matches.get_flag("list-roles") {
+ config.roles.iter().for_each(|v| println!("{}", v.name));
+ exit(1);
+ }
+
let client = init_client(&config)?;
let runtime = init_runtime()?;
match text {