use serde::{Deserialize, Serialize};
use tokmd_types::ConfigMode;
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ScanOptions {
#[serde(default)]
pub excluded: Vec<String>,
#[serde(default)]
pub config: ConfigMode,
#[serde(default)]
pub hidden: bool,
#[serde(default)]
pub no_ignore: bool,
#[serde(default)]
pub no_ignore_parent: bool,
#[serde(default)]
pub no_ignore_dot: bool,
#[serde(default)]
pub no_ignore_vcs: bool,
#[serde(default)]
pub treat_doc_strings_as_comments: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ScanSettings {
#[serde(default)]
pub paths: Vec<String>,
#[serde(flatten)]
pub options: ScanOptions,
}
impl ScanSettings {
pub fn current_dir() -> Self {
Self {
paths: vec![".".to_string()],
..Default::default()
}
}
pub fn for_paths(paths: Vec<String>) -> Self {
Self {
paths,
..Default::default()
}
}
}