type Event … type Op … const Create … const Write … const Remove … const Rename … const Chmod … var ErrNonExistentWatch … var ErrEventOverflow … var ErrClosed … func (o Op) String() string { … } // Has reports if this operation has the given operation. func (o Op) Has(h Op) bool { … } // Has reports if this event has the given operation. func (e Event) Has(op Op) bool { … } // String returns a string representation of the event with their path. func (e Event) String() string { … } type addOpt … type withOpts … var defaultOpts … func getOptions(opts ...addOpt) withOpts { … } // WithBufferSize sets the [ReadDirectoryChangesW] buffer size. // // This only has effect on Windows systems, and is a no-op for other backends. // // The default value is 64K (65536 bytes) which is the highest value that works // on all filesystems and should be enough for most applications, but if you // have a large burst of events it may not be enough. You can increase it if // you're hitting "queue or buffer overflow" errors ([ErrEventOverflow]). // // [ReadDirectoryChangesW]: https://learn.microsoft.com/en-gb/windows/win32/api/winbase/nf-winbase-readdirectorychangesw func WithBufferSize(bytes int) addOpt { … } // Check if this path is recursive (ends with "/..." or "\..."), and return the // path with the /... stripped. func recursivePath(path string) (string, bool) { … }