discovery

package
v1.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 1, 2025 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package discovery handles file discovery and traversal for scanning. It efficiently walks directory trees, respects gitignore patterns, and filters files based on configured criteria like file type and size.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	// Include patterns (glob-style)
	IncludePatterns []string

	// Exclude patterns (glob-style)
	ExcludePatterns []string

	// Exclude binary files
	ExcludeBinary bool

	// Maximum file size to include (bytes)
	MaxFileSize int64

	// Include hidden files (starting with .)
	IncludeHidden bool

	// Follow symbolic links
	FollowSymlinks bool
}

Config holds file discovery configuration

func DefaultConfig

func DefaultConfig() Config

DefaultConfig returns the default file discovery configuration

type DiscoveryStats

type DiscoveryStats struct {
	TotalFiles  int
	TextFiles   int
	BinaryFiles int
	HiddenFiles int
	TotalSize   int64
	Extensions  map[string]int
}

DiscoveryStats holds statistics about file discovery

type FileDiscovery

type FileDiscovery struct {
	// contains filtered or unexported fields
}

FileDiscovery handles file discovery with filtering

func NewFileDiscovery

func NewFileDiscovery(config Config) *FileDiscovery

NewFileDiscovery creates a new file discovery instance

func (*FileDiscovery) DiscoverFiles

func (fd *FileDiscovery) DiscoverFiles(ctx context.Context, rootPath string) ([]FileResult, error)

DiscoverFiles discovers all files in the given directory matching the configuration

func (*FileDiscovery) GetStats

func (fd *FileDiscovery) GetStats(results []FileResult) DiscoveryStats

GetStats returns statistics about discovered files

type FileResult

type FileResult struct {
	Path     string
	Size     int64
	IsBinary bool
	IsHidden bool
}

FileResult represents a discovered file with metadata

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL