31 lines
704 B
Go
31 lines
704 B
Go
/*
|
|
©AngelaMos | 2026
|
|
source.go
|
|
|
|
Source interface for scanner content providers
|
|
|
|
Defines the Source interface: Chunks sends text chunks on a channel for the
|
|
pipeline to consume. The two implementations are Directory (filesystem walk)
|
|
and Git (commit history or staged index).
|
|
|
|
Connects to:
|
|
source/directory.go - implements Source
|
|
source/git.go - implements Source
|
|
engine/pipeline.go - accepts a Source to begin scanning
|
|
cli/scan.go - constructs a Directory source
|
|
cli/git.go - constructs a Git source
|
|
*/
|
|
|
|
package source
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/CarterPerez-dev/portia/pkg/types"
|
|
)
|
|
|
|
type Source interface {
|
|
Chunks(ctx context.Context, out chan<- types.Chunk) error
|
|
String() string
|
|
}
|