use std::path::{Path, PathBuf};
use serde::{Deserialize, Serialize};
use crate::search::filter::VisibilityConfig;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default, Serialize, Deserialize)]
pub enum CorpusKind {
#[default]
Directory,
SingleFile,
}
pub struct IndexConfig<'a> {
pub corpus: CorpusSpec<'a>,
pub visibility: VisibilityConfig,
}
pub struct CorpusSpec<'a> {
pub root: &'a Path,
pub kind: CorpusKind,
pub follow_links: bool,
pub include_paths: &'a [PathBuf],
pub exclude_paths: &'a [PathBuf],
}