patternmatcher

package module
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Aug 22, 2023 License: Apache-2.0 Imports: 7 Imported by: 131

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Matches

func Matches(file string, patterns []string) (bool, error)

Matches returns true if file matches any of the patterns and isn't excluded by any of the subsequent patterns.

This implementation is buggy (it only checks a single parent dir against the pattern) and will be removed soon. Use MatchesOrParentMatches instead.

func MatchesOrParentMatches

func MatchesOrParentMatches(file string, patterns []string) (bool, error)

MatchesOrParentMatches returns true if file matches any of the patterns and isn't excluded by any of the subsequent patterns.

Types

type MatchInfo

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

MatchInfo tracks information about parent dir matches while traversing a filesystem.

type Pattern

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

Pattern defines a single regexp used to filter file paths.

func (*Pattern) Exclusion

func (p *Pattern) Exclusion() bool

Exclusion returns true if this pattern defines exclusion

func (*Pattern) String

func (p *Pattern) String() string

type PatternMatcher

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

PatternMatcher allows checking paths against a list of patterns

func New

func New(patterns []string) (*PatternMatcher, error)

New creates a new matcher object for specific patterns that can be used later to match against patterns against paths

func (*PatternMatcher) Exclusions

func (pm *PatternMatcher) Exclusions() bool

Exclusions returns true if any of the patterns define exclusions

func (*PatternMatcher) Matches deprecated

func (pm *PatternMatcher) Matches(file string) (bool, error)

Matches returns true if "file" matches any of the patterns and isn't excluded by any of the subsequent patterns.

The "file" argument should be a slash-delimited path.

Matches is not safe to call concurrently.

Deprecated: This implementation is buggy (it only checks a single parent dir against the pattern) and will be removed soon. Use either MatchesOrParentMatches or MatchesUsingParentResults instead.

func (*PatternMatcher) MatchesOrParentMatches

func (pm *PatternMatcher) MatchesOrParentMatches(file string) (bool, error)

MatchesOrParentMatches returns true if "file" matches any of the patterns and isn't excluded by any of the subsequent patterns.

The "file" argument should be a slash-delimited path.

Matches is not safe to call concurrently.

func (*PatternMatcher) MatchesUsingParentResult deprecated

func (pm *PatternMatcher) MatchesUsingParentResult(file string, parentMatched bool) (bool, error)

MatchesUsingParentResult returns true if "file" matches any of the patterns and isn't excluded by any of the subsequent patterns. The functionality is the same as Matches, but as an optimization, the caller keeps track of whether the parent directory matched.

The "file" argument should be a slash-delimited path.

MatchesUsingParentResult is not safe to call concurrently.

Deprecated: this function does behave correctly in some cases (see https://github.com/docker/buildx/issues/850).

Use MatchesUsingParentResults instead.

func (*PatternMatcher) MatchesUsingParentResults

func (pm *PatternMatcher) MatchesUsingParentResults(file string, parentMatchInfo MatchInfo) (bool, MatchInfo, error)

MatchesUsingParentResults returns true if "file" matches any of the patterns and isn't excluded by any of the subsequent patterns. The functionality is the same as Matches, but as an optimization, the caller passes in intermediate results from matching the parent directory.

The "file" argument should be a slash-delimited path.

MatchesUsingParentResults is not safe to call concurrently.

func (*PatternMatcher) Patterns

func (pm *PatternMatcher) Patterns() []*Pattern

Patterns returns array of active patterns

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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