fn preview()

in focus/operations/src/selection.rs [310:360]


    fn preview(&self, _context: skim::PreviewContext) -> skim::ItemPreview {
        match self {
            SkimProjectOrTarget::Project {
                source,
                name: _,
                project,
            } => {
                let targets: Vec<String> = project
                    .targets
                    .iter()
                    .map(|target| format!("- {}\n", target))
                    .collect();
                let preview = format!(
                    "\
{title}

Press <space> to select/unselect this project.
Press <enter> to apply changes.

Source: {source}
Includes {num_targets} target(s):
{targets}
",
                    title = self.text(),
                    num_targets = targets.len(),
                    targets = targets.join("")
                );
                skim::ItemPreview::Text(preview)
            }
            SkimProjectOrTarget::BazelPackage {
                source,
                name: _,
                build_file,
            } => {
                let preview = format!(
                    "\
{title}

Press <space> to select/unselect this package.
Press <enter> to apply changes.

Source: {source}
BUILD file: {build_file}
",
                    title = self.text(),
                    build_file = build_file.display(),
                );
                skim::ItemPreview::Text(preview)
            }
        }
    }