sift_core/index/
config.rs1use std::path::{Path, PathBuf};
2
3use serde::{Deserialize, Serialize};
4
5use crate::search::filter::VisibilityConfig;
6
7#[derive(Debug, Clone, Copy, PartialEq, Eq, Default, Serialize, Deserialize)]
9pub enum CorpusKind {
10 #[default]
12 Directory,
13 SingleFile,
15}
16
17pub struct IndexConfig<'a> {
19 pub corpus: CorpusSpec<'a>,
20 pub visibility: VisibilityConfig,
21}
22
23pub struct CorpusSpec<'a> {
25 pub root: &'a Path,
26 pub kind: CorpusKind,
27 pub follow_links: bool,
28 pub include_paths: &'a [PathBuf],
29 pub exclude_paths: &'a [PathBuf],
30}