feat: changed hidden matching from regex to prefix.
This commit is contained in:
parent
4d618f1f18
commit
0aa85e09f0
@ -27,7 +27,7 @@ type data struct {
|
|||||||
|
|
||||||
// Check implements rules.Checker.
|
// Check implements rules.Checker.
|
||||||
func (d *data) Check(path string) bool {
|
func (d *data) Check(path string) bool {
|
||||||
if d.user.HideDotfiles && rules.MatchHidden.Matches(path) {
|
if d.user.HideDotfiles && rules.MatchHidden(path) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package rules
|
package rules
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"path/filepath"
|
||||||
"regexp"
|
"regexp"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
@ -18,9 +19,10 @@ type Rule struct {
|
|||||||
Regexp *Regexp `json:"regexp"`
|
Regexp *Regexp `json:"regexp"`
|
||||||
}
|
}
|
||||||
|
|
||||||
var MatchHidden = Rule{
|
// MatchHidden matches paths with a basename
|
||||||
Regex: true,
|
// that begins with a dot.
|
||||||
Regexp: &Regexp{Raw: `\/\..*$`},
|
func MatchHidden(path string) bool {
|
||||||
|
return filepath.Base(path)[0] == '.'
|
||||||
}
|
}
|
||||||
|
|
||||||
// Matches matches a path against a rule.
|
// Matches matches a path against a rule.
|
||||||
|
|||||||
23
rules/rules_test.go
Normal file
23
rules/rules_test.go
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
package rules
|
||||||
|
|
||||||
|
import "testing"
|
||||||
|
|
||||||
|
func TestMatchHidden(t *testing.T) {
|
||||||
|
cases := map[string]bool{
|
||||||
|
"/": false,
|
||||||
|
"/src": false,
|
||||||
|
"/src/": false,
|
||||||
|
"/.circleci": true,
|
||||||
|
"/a/b/c/.docker.json": true,
|
||||||
|
".docker.json": true,
|
||||||
|
"Dockerfile": false,
|
||||||
|
"/Dockerfile": false,
|
||||||
|
}
|
||||||
|
|
||||||
|
for path, truth := range cases {
|
||||||
|
got := MatchHidden(path)
|
||||||
|
if got != truth {
|
||||||
|
t.Errorf("MatchHidden(%s)=%v; want %v", path, got, truth)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user