Documentation ¶
Index ¶
- Variables
- func Glob(pattern string) (matches []string, err error)
- func GlobOS(vos OS, pattern string) (matches []string, err error)
- func Match(pattern, name string) (bool, error)
- func PathMatch(pattern, name string) (bool, error)
- func PathMatchOS(vos OS, pattern, name string) (bool, error)
- type File
- type OS
Constants ¶
This section is empty.
Variables ¶
var ErrBadPattern = path.ErrBadPattern
ErrBadPattern indicates a pattern was malformed.
Functions ¶
func Glob ¶
Glob returns the names of all files matching pattern or nil if there is no matching file. The syntax of pattern is the same as in Match. The pattern may describe hierarchical names such as /usr/*/bin/ed (assuming the Separator is '/').
Glob ignores file system errors such as I/O errors reading directories. The only possible returned error is ErrBadPattern, when pattern is malformed.
Your system path separator is automatically used. This means on systems where the separator is '\\' (Windows), escaping will be disabled.
Note: this is meant as a drop-in replacement for filepath.Glob().
func Match ¶
Match returns true if name matches the shell file name pattern. The pattern syntax is:
pattern: { term } term: '*' matches any sequence of non-path-separators '**' matches any sequence of characters, including path separators. '?' matches any single non-path-separator character '[' [ '^' ] { character-range } ']' character class (must be non-empty) '{' { term } [ ',' { term } ... ] '}' c matches character c (c != '*', '?', '\\', '[') '\\' c matches character c character-range: c matches character c (c != '\\', '-', ']') '\\' c matches character c lo '-' hi matches character c for lo <= c <= hi
Match requires pattern to match all of name, not just a substring. The path-separator defaults to the '/' character. The only possible returned error is ErrBadPattern, when pattern is malformed.
Note: this is meant as a drop-in replacement for path.Match() which always uses '/' as the path separator. If you want to support systems which use a different path separator (such as Windows), what you want is the PathMatch() function below.
func PathMatch ¶
PathMatch is like Match except that it uses your system's path separator. For most systems, this will be '/'. However, for Windows, it would be '\\'. Note that for systems where the path separator is '\\', escaping is disabled.
Note: this is meant as a drop-in replacement for filepath.Match().
Types ¶
type OS ¶
type OS interface { Lstat(name string) (os.FileInfo, error) Open(name string) (File, error) PathSeparator() rune Stat(name string) (os.FileInfo, error) }
An OS abstracts functions in the standard library's os package.
var StandardOS OS = standardOS{}
StandardOS is a value that implements the OS interface by calling functions in the standard libray's os package.