diff --git a/providers/path/path.go b/providers/path/path.go index 795b742..299eb2f 100644 --- a/providers/path/path.go +++ b/providers/path/path.go @@ -1,10 +1,13 @@ package path import "path" -// import "strings" +import "strings" import "html/template" +import "path/filepath" import "git.tebibyte.media/sashakoshka/step" +const hiddenPrefix = "." + var _ step.FuncProvider = new(Provider) // Provider provides path functions. @@ -15,11 +18,21 @@ type Provider struct { // FuncMap fulfills the step.FuncProvider interface. func (this *Provider) FuncMap () template.FuncMap { return template.FuncMap { + "isHidden": funcIsHidden, + "osIsHidden": funcOSIsHidden, "joinPaths": funcJoinPaths, "osJoinPaths": funcOSJoinPaths, } } +func funcIsHidden (name string) bool { + return strings.HasPrefix(path.Base(name), hiddenPrefix) +} + +func funcOSIsHidden (name string) bool { + return strings.HasPrefix(filepath.Base(name), hiddenPrefix) +} + func funcJoinPaths (left, right string) string { return path.Join(left, right) }