diff options
| author | sigoden <sigoden@gmail.com> | 2024-03-03 09:57:50 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-03 09:57:50 +0800 |
| commit | 8421f23b450643ca3c66cb3f6fd21ef862a2369d (patch) | |
| tree | d64addd1104a01f3d60193f9912b4d0a3508edf3 /src/config/mod.rs | |
| parent | b2f86f2899b79b291eb56435f99402509105b7ec (diff) | |
| download | aichat-8421f23b450643ca3c66cb3f6fd21ef862a2369d.tar.gz | |
feat: allow overriding execute/code role (#331)
Diffstat (limited to 'src/config/mod.rs')
| -rw-r--r-- | src/config/mod.rs | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/config/mod.rs b/src/config/mod.rs index cbf1020..5220c5d 100644 --- a/src/config/mod.rs +++ b/src/config/mod.rs @@ -285,17 +285,23 @@ impl Config { } pub fn set_execute_role(&mut self) -> Result<()> { - let role = Role::for_execute(); + let role = self + .retrieve_role(Role::EXECUTE) + .unwrap_or_else(|_| Role::for_execute()); self.set_role_obj(role) } - pub fn set_describe_role(&mut self) -> Result<()> { - let role = Role::for_describe(); + pub fn set_describe_command_role(&mut self) -> Result<()> { + let role = self + .retrieve_role(Role::DESCRIBE_COMMAND) + .unwrap_or_else(|_| Role::for_describe_command()); self.set_role_obj(role) } pub fn set_code_role(&mut self) -> Result<()> { - let role = Role::for_code(); + let role = self + .retrieve_role(Role::CODE) + .unwrap_or_else(|_| Role::for_code()); self.set_role_obj(role) } |
