Documentation ¶
Index ¶
- func IsParseError(err error) bool
- func WriteIgnores(filesystem fs.Filesystem, path string, content []string) error
- type ChangeDetector
- type Matcher
- func (m *Matcher) Hash() string
- func (m *Matcher) Lines() []string
- func (m *Matcher) Load(file string) error
- func (m *Matcher) Match(file string) (result ignoreresult.R)
- func (m *Matcher) Parse(r io.Reader, file string) error
- func (m *Matcher) Patterns() []string
- func (m *Matcher) Stop()
- func (m *Matcher) String() string
- type Option
- type ParseError
- type Pattern
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsParseError ¶ added in v1.8.0
func WriteIgnores ¶ added in v0.14.28
func WriteIgnores(filesystem fs.Filesystem, path string, content []string) error
WriteIgnores is a convenience function to avoid code duplication
Types ¶
type ChangeDetector ¶ added in v0.14.31
type ChangeDetector interface { Remember(fs fs.Filesystem, name string, modtime time.Time) Seen(fs fs.Filesystem, name string) bool Changed() bool Reset() }
The ChangeDetector is responsible for determining if files have changed on disk. It gets told to Remember() files (name and modtime) and will then get asked if a file has been Seen() (i.e., Remember() has been called on it) and if any of the files have Changed(). To forget all files, call Reset().
type Matcher ¶
type Matcher struct {
// contains filtered or unexported fields
}
func (*Matcher) Lines ¶ added in v0.14.28
Lines return a list of the unprocessed lines in .stignore at last load
func (*Matcher) Load ¶
Load and parse a file. The returned error may be of type *ParseError in which case a file was loaded from disk but the patterns could not be parsed. In this case the contents of the file are nonetheless available in the Lines() method.
func (*Matcher) Match ¶
func (m *Matcher) Match(file string) (result ignoreresult.R)
Match matches the patterns plus temporary and internal files.
The "file" parameter must be in the OS' native unicode format (NFD on macos, NFC everywhere else). This is always the case in real usage in syncthing, as we ensure native unicode normalisation on all entry points (scanning and from protocol) - so no need to normalize when calling this, except e.g. in tests.
type Option ¶ added in v0.14.31
type Option func(*Matcher)
An Option can be passed to New()
func WithCache ¶ added in v0.14.31
WithCache enables or disables lookup caching. The default is disabled.
func WithChangeDetector ¶ added in v0.14.31
func WithChangeDetector(cd ChangeDetector) Option
WithChangeDetector sets a custom ChangeDetector. The default is to simply use the on disk modtime for comparison.
type ParseError ¶ added in v1.8.0
type ParseError struct {
// contains filtered or unexported fields
}
A ParseError signifies an error with contents of an ignore file, including I/O errors on included files. An I/O error on the root level ignore file is not a ParseError.
func (*ParseError) Error ¶ added in v1.8.0
func (e *ParseError) Error() string
func (*ParseError) Unwrap ¶ added in v1.8.0
func (e *ParseError) Unwrap() error
Directories ¶
Path | Synopsis |
---|---|
Package result provides the result type for ignore matching.
|
Package result provides the result type for ignore matching. |