|
|
@ -27,32 +27,30 @@ func indent(s string) string { |
|
|
return text.Indent(s, "\t") |
|
|
return text.Indent(s, "\t") |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
func listFiles(d string) []string { |
|
|
func listFiles(d string) ([]string, error) { |
|
|
fc := make(chan string, 1024) |
|
|
fs := []string{} |
|
|
|
|
|
|
|
|
go func() { |
|
|
|
|
|
filepath.Walk(d, func(p string, f os.FileInfo, err error) error { |
|
|
|
|
|
b, err := regexp.MatchString("(^\\.)|(/\\.)", p) |
|
|
|
|
|
|
|
|
|
|
|
if err != nil { |
|
|
err := filepath.Walk(d, func(f string, i os.FileInfo, err error) error { |
|
|
return err |
|
|
if err != nil { |
|
|
} |
|
|
return err |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
if !f.IsDir() && !b && isMarkupFile(p) { |
|
|
b, err := regexp.MatchString("(^\\.)|(/\\.)", f) |
|
|
fc <- p |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return nil |
|
|
if err != nil { |
|
|
}) |
|
|
return err |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
close(fc) |
|
|
if !i.IsDir() && !b && isMarkupFile(f) { |
|
|
}() |
|
|
fs = append(fs, f) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
fs := []string{} |
|
|
return nil |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
for f := range fc { |
|
|
if err != nil { |
|
|
fs = append(fs, f) |
|
|
return nil, err |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
return fs |
|
|
return fs, nil |
|
|
} |
|
|
} |
|
|
|