File filter names (windows).
This commit is contained in:
parent
2bb3f4747e
commit
2e8c2e1c22
2 changed files with 10 additions and 0 deletions
9
file.go
9
file.go
|
@ -85,6 +85,15 @@ func (f FileFilters) apply(o *options) {
|
||||||
o.fileFilters = append(o.fileFilters, f...)
|
o.fileFilters = append(o.fileFilters, f...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Windows' patterns need a name.
|
||||||
|
func (f FileFilters) name() {
|
||||||
|
for i, filter := range f {
|
||||||
|
if filter.Name == "" {
|
||||||
|
f[i].Name = strings.Join(filter.Patterns, " ")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Windows' patterns are case insensitive, don't support character classes or escaping.
|
// Windows' patterns are case insensitive, don't support character classes or escaping.
|
||||||
// First we remove character classes, then escaping. Patterns with literal wildcards are invalid (match nothing).
|
// First we remove character classes, then escaping. Patterns with literal wildcards are invalid (match nothing).
|
||||||
// The semicolon is a separator, so we replace it with the single character wildcard.
|
// The semicolon is a separator, so we replace it with the single character wildcard.
|
||||||
|
|
|
@ -363,6 +363,7 @@ func initDirNameExt(filename string, name []uint16) (dir *uint16, ext *uint16) {
|
||||||
|
|
||||||
func initFilters(filters FileFilters) []uint16 {
|
func initFilters(filters FileFilters) []uint16 {
|
||||||
filters.simplify()
|
filters.simplify()
|
||||||
|
filters.name()
|
||||||
var res []uint16
|
var res []uint16
|
||||||
for _, f := range filters {
|
for _, f := range filters {
|
||||||
res = append(res, utf16.Encode([]rune(f.Name))...)
|
res = append(res, utf16.Encode([]rune(f.Name))...)
|
||||||
|
|
Loading…
Reference in a new issue