Documentation
¶
Index ¶
- Constants
- Variables
- func NewFileFilterParameterLayer() (layers.ParameterLayer, error)
- type FileFilter
- type FileFilterOption
- func WithDisableDefaultFilters(disable bool) FileFilterOption
- func WithDisableGitIgnore(disable bool) FileFilterOption
- func WithExcludeDirs(dirs []string) FileFilterOption
- func WithExcludeExts(exts []string) FileFilterOption
- func WithExcludeMatchFilenames(patterns []string) FileFilterOption
- func WithExcludeMatchPaths(patterns []string) FileFilterOption
- func WithFilterBinaryFiles(filter bool) FileFilterOption
- func WithGitIgnoreFilter(filter gitignore.GitIgnore) FileFilterOption
- func WithIncludeExts(exts []string) FileFilterOption
- func WithMatchFilenames(patterns []string) FileFilterOption
- func WithMatchPaths(patterns []string) FileFilterOption
- func WithMaxFileSize(size int64) FileFilterOption
- func WithVerbose(verbose bool) FileFilterOption
- type FileFilterSettings
Constants ¶
View Source
const FileFilterSlug = "file-filter"
Variables ¶
View Source
var ( DefaultExcludedExts = []string{ ".png", ".jpg", ".jpeg", ".gif", ".bmp", ".tiff", ".mp3", ".wav", ".ogg", ".flac", ".mp4", ".avi", ".mov", ".wmv", ".zip", ".tar", ".gz", ".rar", ".exe", ".dll", ".so", ".dylib", ".pdf", ".doc", ".docx", ".xls", ".xlsx", ".bin", ".dat", ".db", ".sqlite", ".woff", ".ttf", ".eot", ".svg", ".webp", ".woff2", ".lock", } DefaultExcludedDirs = []string{ ".git", ".svn", "node_modules", "vendor", ".history", ".idea", ".vscode", ".yardoc", "build", "dist", "sorbet", } DefaultExcludedMatchFilenames = []*regexp.Regexp{ regexp.MustCompile(`.*-lock\.json$`), regexp.MustCompile(`go\.sum$`), regexp.MustCompile(`yarn\.lock$`), regexp.MustCompile(`package-lock\.json$`), } )
Initialize default values
Functions ¶
func NewFileFilterParameterLayer ¶
func NewFileFilterParameterLayer() (layers.ParameterLayer, error)
Types ¶
type FileFilter ¶
type FileFilter struct { MaxFileSize int64 `yaml:"max-file-size,omitempty"` IncludeExts []string `yaml:"include-exts,omitempty"` ExcludeExts []string `yaml:"exclude-exts,omitempty"` MatchFilenames []*regexp.Regexp `yaml:"match-filenames,omitempty"` MatchPaths []*regexp.Regexp `yaml:"match-paths,omitempty"` ExcludeDirs []string `yaml:"exclude-dirs,omitempty"` GitIgnoreFilter gitignore.GitIgnore `yaml:"-"` DisableGitIgnore bool `yaml:"disable-gitignore,omitempty"` ExcludeMatchFilenames []*regexp.Regexp `yaml:"exclude-match-filenames,omitempty"` ExcludeMatchPaths []*regexp.Regexp `yaml:"exclude-match-paths,omitempty"` DisableDefaultFilters bool `yaml:"disable-default-filters,omitempty"` Verbose bool `yaml:"verbose,omitempty"` Profiles map[string]*FileFilter `yaml:"profiles,omitempty"` FilterBinaryFiles bool `yaml:"filter-binary-files,omitempty"` // Default values (not serialized) DefaultExcludedExts []string `yaml:"-"` DefaultExcludedDirs []string `yaml:"-"` DefaultExcludedMatchFilenames []*regexp.Regexp `yaml:"-"` }
func CreateFileFilterFromSettings ¶
func CreateFileFilterFromSettings(parsedLayer *layers.ParsedLayer) (*FileFilter, error)
func FromYAML ¶
func FromYAML(data []byte) (*FileFilter, error)
FromYAML deserializes the FileFilter from YAML format
func LoadFromFile ¶
func LoadFromFile(filename string, profile string) (*FileFilter, error)
LoadFromFile loads a FileFilter configuration from a YAML file If a profile is specified, it returns the FileFilter for that profile
func NewFileFilter ¶
func NewFileFilter(options ...FileFilterOption) *FileFilter
func (*FileFilter) FilterNode ¶
func (ff *FileFilter) FilterNode(node *filewalker.Node) bool
func (*FileFilter) FilterPath ¶
func (ff *FileFilter) FilterPath(filePath string) bool
func (*FileFilter) PrintConfiguredFilters ¶
func (ff *FileFilter) PrintConfiguredFilters()
func (*FileFilter) SaveToFile ¶
func (ff *FileFilter) SaveToFile(filename string) error
SaveToFile saves the FileFilter configuration to a YAML file
func (*FileFilter) ToYAML ¶
func (ff *FileFilter) ToYAML() ([]byte, error)
ToYAML serializes the FileFilter to YAML format
type FileFilterOption ¶
type FileFilterOption func(*FileFilter)
func WithDisableDefaultFilters ¶
func WithDisableDefaultFilters(disable bool) FileFilterOption
func WithDisableGitIgnore ¶
func WithDisableGitIgnore(disable bool) FileFilterOption
func WithExcludeDirs ¶
func WithExcludeDirs(dirs []string) FileFilterOption
func WithExcludeExts ¶
func WithExcludeExts(exts []string) FileFilterOption
func WithExcludeMatchFilenames ¶
func WithExcludeMatchFilenames(patterns []string) FileFilterOption
func WithExcludeMatchPaths ¶
func WithExcludeMatchPaths(patterns []string) FileFilterOption
func WithFilterBinaryFiles ¶
func WithFilterBinaryFiles(filter bool) FileFilterOption
func WithGitIgnoreFilter ¶
func WithGitIgnoreFilter(filter gitignore.GitIgnore) FileFilterOption
func WithIncludeExts ¶
func WithIncludeExts(exts []string) FileFilterOption
func WithMatchFilenames ¶
func WithMatchFilenames(patterns []string) FileFilterOption
func WithMatchPaths ¶
func WithMatchPaths(patterns []string) FileFilterOption
func WithMaxFileSize ¶
func WithMaxFileSize(size int64) FileFilterOption
func WithVerbose ¶
func WithVerbose(verbose bool) FileFilterOption
type FileFilterSettings ¶
type FileFilterSettings struct { MaxFileSize int64 `glazed.parameter:"max-file-size"` DisableGitIgnore bool `glazed.parameter:"disable-gitignore"` DisableDefaultFilters bool `glazed.parameter:"disable-default-filters"` Include []string `glazed.parameter:"include"` Exclude []string `glazed.parameter:"exclude"` MatchFilename []string `glazed.parameter:"match-filename"` MatchPath []string `glazed.parameter:"match-path"` ExcludeDirs []string `glazed.parameter:"exclude-dirs"` ExcludeMatchFilename []string `glazed.parameter:"exclude-match-filename"` ExcludeMatchPath []string `glazed.parameter:"exclude-match-path"` FilterBinary bool `glazed.parameter:"filter-binary"` Verbose bool `glazed.parameter:"verbose"` }
Click to show internal directories.
Click to hide internal directories.