hglob

package
v0.154.1 Latest Latest
Warning

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

Go to latest
Published: Jan 1, 2026 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const NegationPrefix = "! "

NegationPrefix is the prefix that makes a pattern an exclusion.

Variables

This section is empty.

Functions

func FilterGlobParts

func FilterGlobParts(a []string) []string

FilterGlobParts removes any string with glob wildcard.

func GetGlob

func GetGlob(pattern string) (glob.Glob, error)

func GetGlobDot

func GetGlobDot(pattern string) (glob.Glob, error)

GetGlobDot returns a glob.Glob that matches the given pattern, using '.' as the path separator.

func HasGlobChar

func HasGlobChar(s string) bool

HasGlobChar returns whether s contains any glob wildcards.

func NewGlobIdentity

func NewGlobIdentity(pattern string) identity.Identity

NewGlobIdentity creates a new Identity that is probably dependent on any other Identity that matches the given pattern.

func NormalizePath

func NormalizePath(p string) string

func NormalizePathNoLower

func NormalizePathNoLower(p string) string

func Or

func Or(globs ...glob.Glob) glob.Glob

Or creates a new Glob from the given globs.

func ResolveRootDir

func ResolveRootDir(p string) string

ResolveRootDir takes a normalized path on the form "assets/**.json" and determines any root dir, i.e. any start path without any wildcards.

Types

type FilenameFilter

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

func MustNewFilenameFilter

func MustNewFilenameFilter(inclusions, exclusions []string) *FilenameFilter

MustNewFilenameFilter invokes NewFilenameFilter and panics on error. Deprecated: Use NewFilenameFilterV2.

func NewFilenameFilter

func NewFilenameFilter(inclusions, exclusions []string) (*FilenameFilter, error)

NewFilenameFilter creates a new Glob where the Match method will return true if the file should be included. Note that the exclusions will be checked first. Deprecated: Use NewFilenameFilterV2.

func NewFilenameFilterForInclusionFunc

func NewFilenameFilterForInclusionFunc(shouldInclude func(filename string) bool) *FilenameFilter

NewFilenameFilterForInclusionFunc create a new filter using the provided inclusion func.

func NewFilenameFilterV2

func NewFilenameFilterV2(patterns []string) (*FilenameFilter, error)

func (*FilenameFilter) Append

func (f *FilenameFilter) Append(other *FilenameFilter) *FilenameFilter

Append appends a filter to the chain. The receiver will be copied if needed.

func (*FilenameFilter) Match

func (f *FilenameFilter) Match(filename string, isDir bool) bool

Match returns whether filename should be included.

type MatchesFunc

type MatchesFunc func(s string) bool

MatchesFunc is a convenience type to create a glob.Glob from a function.

func (MatchesFunc) Match

func (m MatchesFunc) Match(s string) bool