cargo_e/
e_target.rs

1// src/e_target.rs
2use std::{ffi::OsString, path::PathBuf};
3
4#[derive(Debug, Clone)]
5pub enum TargetOrigin {
6    SingleFile(PathBuf),
7    MultiFile(PathBuf),
8    SubProject(PathBuf),
9    Named(OsString),
10}
11
12#[derive(Debug, Clone, PartialEq)]
13pub enum TargetKind {
14    Example,
15    Binary,
16    Test,
17    Manifest, // For browsing the entire Cargo.toml or package-level targets.
18}
19
20#[derive(Debug, Clone)]
21pub struct CargoTarget {
22    pub name: String,
23    pub display_name: String,
24    pub manifest_path: String,
25    pub kind: TargetKind,
26    pub extended: bool,
27    pub origin: Option<TargetOrigin>,
28}