summaryrefslogtreecommitdiffstats
path: root/src/matcher.go
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2015-01-12 12:56:17 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2015-01-12 12:56:17 +0900
commitcd847affb79ea6438c9721635724efc6f58e2215 (patch)
treed1e631e3dca8832ee4c495924789f6697c3629cf /src/matcher.go
parent7a2bc2cada971c7a390d09b0afda34780ff56fb6 (diff)
Reorganize source code
Diffstat (limited to 'src/matcher.go')
-rw-r--r--src/matcher.go18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/matcher.go b/src/matcher.go
index b8be2870..1ea9541b 100644
--- a/src/matcher.go
+++ b/src/matcher.go
@@ -6,6 +6,8 @@ import (
"sort"
"sync"
"time"
+
+ "github.com/junegunn/fzf/src/util"
)
// MatchRequest represents a search request
@@ -18,14 +20,14 @@ type MatchRequest struct {
type Matcher struct {
patternBuilder func([]rune) *Pattern
sort bool
- eventBox *EventBox
- reqBox *EventBox
+ eventBox *util.EventBox
+ reqBox *util.EventBox
partitions int
mergerCache map[string]*Merger
}
const (
- reqRetry EventType = iota
+ reqRetry util.EventType = iota
reqReset
)
@@ -35,12 +37,12 @@ const (
// NewMatcher returns a new Matcher
func NewMatcher(patternBuilder func([]rune) *Pattern,
- sort bool, eventBox *EventBox) *Matcher {
+ sort bool, eventBox *util.EventBox) *Matcher {
return &Matcher{
patternBuilder: patternBuilder,
sort: sort,
eventBox: eventBox,
- reqBox: NewEventBox(),
+ reqBox: util.NewEventBox(),
partitions: runtime.NumCPU(),
mergerCache: make(map[string]*Merger)}
}
@@ -52,7 +54,7 @@ func (m *Matcher) Loop() {
for {
var request MatchRequest
- m.reqBox.Wait(func(events *Events) {
+ m.reqBox.Wait(func(events *util.Events) {
for _, val := range *events {
switch val := val.(type) {
case MatchRequest:
@@ -128,7 +130,7 @@ func (m *Matcher) scan(request MatchRequest, limit int) (*Merger, bool) {
}
pattern := request.pattern
empty := pattern.IsEmpty()
- cancelled := NewAtomicBool(false)
+ cancelled := util.NewAtomicBool(false)
slices := m.sliceChunks(request.chunks)
numSlices := len(slices)
@@ -202,7 +204,7 @@ func (m *Matcher) scan(request MatchRequest, limit int) (*Merger, bool) {
func (m *Matcher) Reset(chunks []*Chunk, patternRunes []rune, cancel bool) {
pattern := m.patternBuilder(patternRunes)
- var event EventType
+ var event util.EventType
if cancel {
event = reqReset
} else {