Worktree operations.
(
&self,
args: &serde_json::Value,
worktree: &dyn WorkspaceGitWorktreeProvider,
)
| 397 | |
| 398 | /// Worktree operations. |
| 399 | async fn worktree( |
| 400 | &self, |
| 401 | args: &serde_json::Value, |
| 402 | worktree: &dyn WorkspaceGitWorktreeProvider, |
| 403 | ) -> Result<ToolOutput> { |
| 404 | let subcommand = args |
| 405 | .get("subcommand") |
| 406 | .and_then(|v| v.as_str()) |
| 407 | .unwrap_or("list"); |
| 408 | |
| 409 | match subcommand { |
| 410 | "list" => self.list_worktrees(worktree).await, |
| 411 | "create" => self.create_worktree(args, worktree).await, |
| 412 | "remove" => self.remove_worktree(args, worktree).await, |
| 413 | _ => Ok(ToolOutput::error(format!( |
| 414 | "Unknown worktree subcommand: {subcommand}. Use: list, create, remove" |
| 415 | ))), |
| 416 | } |
| 417 | } |
| 418 | |
| 419 | /// List all worktrees. |
| 420 | async fn list_worktrees( |
no test coverage detected