parent
081d50328f
commit
807072a77f
|
|
@ -8,7 +8,6 @@ import (
|
|||
"os"
|
||||
"path"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func (n *Notes) Search(phrase string) (string, error) {
|
||||
|
|
@ -21,10 +20,13 @@ func (n *Notes) Search(phrase string) (string, error) {
|
|||
if info.IsDir() {
|
||||
return nil
|
||||
}
|
||||
if splits := strings.Split(info.Name(), "."); len(splits) > 1 && !(strings.HasSuffix(info.Name(), ".md") || strings.HasSuffix(info.Name(), ".txt")) {
|
||||
if size := info.Size(); size < 1 || size > (5*1024*1024) {
|
||||
return nil
|
||||
}
|
||||
ok, err := grepFile(walked, []byte(phrase))
|
||||
if err != nil && err.Error() == "bufio.Scanner: token too long" {
|
||||
err = nil
|
||||
}
|
||||
if err == nil && ok {
|
||||
p := filetree.NewPathFromLocal(path.Dir(walked))
|
||||
files.Push(p, info)
|
||||
|
|
|
|||
|
|
@ -42,3 +42,13 @@ func TestSearch(t *testing.T) {
|
|||
t.Fatal(v, result)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSearchBigFiles(t *testing.T) {
|
||||
n := New()
|
||||
n.root = "/usr/local/bin"
|
||||
|
||||
_, err := n.Search("this file")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue