diff --git a/go.mod b/go.mod index 4ab498033eb..2be33996ae2 100644 --- a/go.mod +++ b/go.mod @@ -1,7 +1,7 @@ module github.com/junegunn/fzf require ( - github.com/charlievieth/fastwalk v1.0.4 + github.com/charlievieth/fastwalk v1.0.5 github.com/gdamore/tcell/v2 v2.7.4 github.com/mattn/go-isatty v0.0.20 github.com/mattn/go-shellwords v1.0.12 diff --git a/go.sum b/go.sum index c0ccde0c612..5318f2ae3d8 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,5 @@ -github.com/charlievieth/fastwalk v1.0.4 h1:EG3y5L1XBa8VftvpONuQlfe5sNuf1xzGpm59bdgCDwo= -github.com/charlievieth/fastwalk v1.0.4/go.mod h1:JSfglY/gmL/rqsUS1NCsJTocB5n6sSl9ApAqif4CUbs= +github.com/charlievieth/fastwalk v1.0.5 h1:s3LmdcsBtZ/zHxCvaEkUgA55fvTR0xuCie8/Cgc/d7g= +github.com/charlievieth/fastwalk v1.0.5/go.mod h1:rV19+IF9Y2TYQNy4MqEk5M/spNHjKsA0i71yrsv2p4E= github.com/gdamore/encoding v1.0.0 h1:+7OoQ1Bc6eTm5niUzBa0Ctsh6JbMW6Ra+YNuAtDBdko= github.com/gdamore/encoding v1.0.0/go.mod h1:alR0ol34c49FCSBLjhosxzcPHQbf2trDkoo5dl+VrEg= github.com/gdamore/tcell/v2 v2.7.4 h1:sg6/UnTM9jGpZU+oFYAsDahfchWAFW8Xx2yFinNSAYU= diff --git a/src/reader.go b/src/reader.go index 9d4fe16019c..1e2677828e6 100644 --- a/src/reader.go +++ b/src/reader.go @@ -235,8 +235,11 @@ func isSymlinkToDir(path string, de os.DirEntry) bool { func (r *Reader) readFiles(root string, opts walkerOpts, ignores []string, sep byte) bool { r.killed = false - conf := fastwalk.Config{Follow: opts.follow} - replaceSep := sep != os.PathSeparator + conf := fastwalk.Config{ + Follow: opts.follow, + // Use forward slashes when running under WSL + ToSlash: fastwalk.DefaultToSlash(), + } fn := func(path string, de os.DirEntry, err error) error { if err != nil { return nil @@ -255,15 +258,7 @@ func (r *Reader) readFiles(root string, opts walkerOpts, ignores []string, sep b } } } - bytes := stringBytes(path) - if replaceSep { - for i, b := range bytes { - if b == os.PathSeparator { - bytes[i] = sep - } - } - } - if ((opts.file && !isDir) || (opts.dir && isDir)) && r.pusher(bytes) { + if ((opts.file && !isDir) || (opts.dir && isDir)) && r.pusher([]byte(path)) { atomic.StoreInt32(&r.event, int32(EvtReadNew)) } }