from dataclasses import dataclass
from pathlib import Path


@dataclass
class PathConfig:
    include_gitignore: bool
    include_dotfiles: bool
    include_symlinks: bool
    include_images: bool
    exclude: list[str]
    include: list[str]


def add_exclusions(directory: Path, exclusions: list[str]) -> list[str] | None:
    if exclusions is None or len(exclusions) < 1:
        return
    # TODO: make this account for files or filetypes (with or without a period)
    for ext in exclusions:
        for file in directory.glob(f"**/*.{ext}"):
            excluded_files.add(file.resolve())


def add_inclusions(self, inclusions: list[str]) -> None:
    if inclusions is None or len(inclusions) < 1:
        return
    for ext in inclusions:
        for file in self.config.root.glob(f"**/*.{ext}"):
            self.included_files.add(file.resolve())
