feat: support windows paths in embedded templates FS

This commit is contained in:
Luke Kingland 2021-03-29 23:03:43 +09:00
parent acc56b0900
commit c2b216857b
No known key found for this signature in database
GPG Key ID: 4896F75BAF2E1966
1 changed files with 5 additions and 4 deletions

View File

@ -5,6 +5,7 @@ import (
"bytes"
"io"
"io/fs"
"os"
"path"
"sort"
"strings"
@ -71,7 +72,7 @@ func (fsys FS) Open(name string) (fs.File, error) {
if name == "." {
elem = "."
for fname, f := range fsys {
i := strings.Index(fname, "/")
i := strings.Index(fname, string(os.PathSeparator))
if i < 0 {
list = append(list, fileInfo{fname, f})
} else {
@ -79,12 +80,12 @@ func (fsys FS) Open(name string) (fs.File, error) {
}
}
} else {
elem = name[strings.LastIndex(name, "/")+1:]
prefix := name + "/"
elem = name[strings.LastIndex(name, string(os.PathSeparator))+1:]
prefix := name + string(os.PathSeparator)
for fname, f := range fsys {
if strings.HasPrefix(fname, prefix) {
felem := fname[len(prefix):]
i := strings.Index(felem, "/")
i := strings.Index(felem, string(os.PathSeparator))
if i < 0 {
list = append(list, fileInfo{felem, f})
} else {