use serde::{Deserialize, Serialize};
use crate::path::AbsolutePath;
#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct CargoConfig {
#[serde(default)]
pub enabled: bool,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
}
impl CargoConfig {
pub fn enabled() -> Self {
Self {
enabled: true,
..Default::default()
}
}
pub(crate) async fn resolve_root(
&self,
git_workdir: &AbsolutePath,
fs: &dyn crate::filesystem::Filesystem,
) -> anyhow::Result<AbsolutePath> {
super::resolve_root(&self.path, git_workdir, fs).await
}
}