@@ -197,7 +197,13 @@ func (w *Watcher) Add(name string) (err error) {
197
197
// If name is on the ignored list or if hidden files are
198
198
// ignored and name is a hidden file or directory, simply return.
199
199
_ , ignored := w .ignored [name ]
200
- if ignored || (w .ignoreHidden && strings .HasPrefix (name , "." )) {
200
+
201
+ isHidden , err := isHiddenFile (name )
202
+ if err != nil {
203
+ return err
204
+ }
205
+
206
+ if ignored || (w .ignoreHidden && isHidden ) {
201
207
return nil
202
208
}
203
209
@@ -244,7 +250,13 @@ outer:
244
250
for _ , fInfo := range fInfoList {
245
251
path := filepath .Join (name , fInfo .Name ())
246
252
_ , ignored := w .ignored [path ]
247
- if ignored || (w .ignoreHidden && strings .HasPrefix (fInfo .Name (), "." )) {
253
+
254
+ isHidden , err := isHiddenFile (path )
255
+ if err != nil {
256
+ return nil , err
257
+ }
258
+
259
+ if ignored || (w .ignoreHidden && isHidden ) {
248
260
continue
249
261
}
250
262
@@ -308,7 +320,13 @@ func (w *Watcher) listRecursive(name string) (map[string]os.FileInfo, error) {
308
320
// If path is ignored and it's a directory, skip the directory. If it's
309
321
// ignored and it's a single file, skip the file.
310
322
_ , ignored := w .ignored [path ]
311
- if ignored || (w .ignoreHidden && strings .HasPrefix (info .Name (), "." )) {
323
+
324
+ isHidden , err := isHiddenFile (path )
325
+ if err != nil {
326
+ return err
327
+ }
328
+
329
+ if ignored || (w .ignoreHidden && isHidden ) {
312
330
if info .IsDir () {
313
331
return filepath .SkipDir
314
332
}
0 commit comments