(&mut self, choice: &SkillsWizardChoice)
| 1611 | } |
| 1612 | |
| 1613 | fn select_skills_mode(&mut self, choice: &SkillsWizardChoice) -> Result<usize> { |
| 1614 | println!( |
| 1615 | "\n{}", |
| 1616 | format!( |
| 1617 | "🧠 Skills target for {} ({})", |
| 1618 | choice.agent_name, choice.destination |
| 1619 | ) |
| 1620 | .cyan() |
| 1621 | ); |
| 1622 | println!( |
| 1623 | " {} Recommended: {}{}", |
| 1624 | "ℹ".blue(), |
| 1625 | sync_type_label(choice.recommended_mode).bold(), |
| 1626 | choice |
| 1627 | .reason |
| 1628 | .as_ref() |
| 1629 | .map(|reason| format!(" — {reason}")) |
| 1630 | .unwrap_or_default() |
| 1631 | ); |
| 1632 | |
| 1633 | Ok(Select::with_theme(&ColorfulTheme::default()) |
| 1634 | .with_prompt("How should this skills target sync?") |
| 1635 | .items([ |
| 1636 | "symlink — link the whole directory to .agents/skills", |
| 1637 | "symlink-contents — keep a directory and link each item inside it", |
| 1638 | ]) |
| 1639 | .default(if choice.recommended_mode == SyncType::Symlink { |
| 1640 | 0 |
| 1641 | } else { |
| 1642 | 1 |
| 1643 | }) |
| 1644 | .interact()?) |
| 1645 | } |
| 1646 | |
| 1647 | fn confirm_backup_originals(&mut self) -> Result<bool> { |
| 1648 | Ok(Confirm::with_theme(&ColorfulTheme::default()) |
no test coverage detected