globmatch

package
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Mar 26, 2026 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MakePredicate

func MakePredicate(allow, deny []Pattern) func(string) bool

MakePredicate builds a deny-wins predicate: if the name matches any deny pattern it returns false; otherwise it returns true when there are no allow patterns or the name matches at least one allow pattern.

func MatchesAny

func MatchesAny(name string, patterns []Pattern) bool

MatchesAny reports whether name matches any of the compiled patterns.

Types

type Pattern

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

Pattern is a compiled glob-style pattern for tool name matching. It supports three forms: exact (literal equality), all (* wildcard), and regex (* expanded to .* via regexp.QuoteMeta).

func Compile

func Compile(pattern string) Pattern

Compile compiles a single glob pattern. Empty patterns produce an exact match on "". The "*" pattern matches everything. Patterns containing "*" are converted to regexps; if the regexp fails to compile, the pattern degrades to exact match.

func CompileAll

func CompileAll(patterns []string) []Pattern

CompileAll compiles a slice of glob patterns, skipping empty results.

func (Pattern) Matches

func (p Pattern) Matches(name string) bool

Matches reports whether the pattern matches the given name.

Jump to

Keyboard shortcuts

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