Commit graph

115 commits

Author SHA1 Message Date
Daisuke Maki 1fea5cd5a0 Replace raw closure callbacks with interfaces 2026-02-20 13:35:31 +09:00
Daisuke Maki fc18c0d3de Methodically add function comments 2026-02-20 10:55:49 +09:00
Daisuke Maki a24479624d fix: invalidate filter cache on freeze/unfreeze 2026-02-19 19:59:37 +09:00
Daisuke Maki 95e13933c2 Do away with interface.go files 2026-02-18 21:12:19 +09:00
Daisuke Maki 6a89f1e352 some modernization, remove debug prints, pin go 1.25 2026-02-18 09:47:25 +09:00
Daisuke Maki e7db38fa07 Report filter Apply errors to status bar 2026-02-18 09:30:06 +09:00
Daisuke Maki 46331edcfd Check for far wider range of things in lint 2026-02-18 07:49:40 +09:00
lestrrat bcfd3bff83
Merge pull request #676 from peco/refactor-dedup-batch-loop
Batch flush refactoring
2026-02-17 21:35:39 +09:00
lestrrat d4744778bb
Merge pull request #675 from peco/refactor-remove-unnecessary-sort
remove unnecessary sort
2026-02-17 21:34:55 +09:00
Daisuke Maki 3869c3bd25 Batch flush refactoring 2026-02-17 21:24:40 +09:00
Daisuke Maki 28d16a4b1a remove unnecessary sort 2026-02-17 20:25:37 +09:00
Daisuke Maki ded5d7f305 guard debug print 2026-02-17 20:17:52 +09:00
Daisuke Maki 4e0f004cb3 refactor frozen state 2026-02-17 13:28:21 +09:00
lestrrat e5d29e85be
Merge pull request #645 from peco/fix-filter-work-goroutine-wait
Wait for worker
2026-02-17 11:24:32 +09:00
Daisuke Maki e4da6d08b1 Wait for worker 2026-02-17 11:13:31 +09:00
Daisuke Maki 02f7140f27 properly propagate ctx 2026-02-17 10:17:26 +09:00
Daisuke Maki ffc3e85bd0 consolidate SendStatusMsg 2026-02-17 07:17:45 +09:00
Daisuke Maki f5f6262d82 use types in pipelines 2026-02-16 23:51:36 +09:00
Daisuke Maki 12a55491ef Change Hub structure to take typed payloads 2026-02-16 22:40:34 +09:00
Daisuke Maki 68d17afc7c Implement freeze/unfreeze 2026-02-16 15:43:38 +09:00
Daisuke Maki 87ce6ab7cb Negative filters 2026-02-16 14:31:16 +09:00
Daisuke Maki 2c591ff8ed Batch sending source -> filter 2026-02-16 10:58:18 +09:00
Daisuke Maki 17549703ae pre-allocate buffer lines 2026-02-16 10:24:58 +09:00
Daisuke Maki 835f4698c2 Use ctx.Done() to check for Send() success/failure 2026-02-16 09:59:59 +09:00
Daisuke Maki 1a76db2e67 Skip processing in chunks for parallel workers 2026-02-16 09:27:33 +09:00
Daisuke Maki 97f408b99e First pass optimizing for large buffers 2026-02-16 09:00:07 +09:00
Daisuke Maki 3a7556f264 Fix #557 2026-02-15 08:14:33 +09:00
Daisuke Maki e4f2b4837d optimizations around memory usage 2026-02-14 15:47:37 +09:00
Daisuke Maki db63d9f380 Add linting fixes 2026-02-14 07:48:23 +09:00
Daisuke Maki 305a208ca2 remove non-applicable comments/commented sections/debug statements 2020-01-10 11:55:12 +09:00
Daisuke Maki 43ee9051f8 Fix blocking issue cased by #491
... by punting the problem when the input is an infinite stream.
This commit fixes the blocking, but the subsequent queries don't seem
to be properly running

refs #494
2020-01-09 20:22:18 +09:00
Daisuke Maki d02bb4122c Workaround glide being stubborn wrt lestrrat/go-pdebug -> lestrrat-go/pdebug 2018-10-25 09:50:16 +09:00
Daisuke Maki 949166a67c bail out of the correct loop 2016-12-14 17:05:11 +09:00
Daisuke Maki 47be5c7c85 Integrate ExternalCommand into the new format 2016-12-14 14:59:38 +09:00
Daisuke Maki 61b5d22fb8 Move stuff around for better code organization 2016-12-14 11:00:22 +09:00
Daisuke Maki 45398301ea Apply mattn's review 2016-12-13 10:06:12 +09:00
Daisuke Maki 32a6786021 Update comment 2016-12-13 07:33:57 +09:00
Daisuke Maki 668a498ed8 slight refactor 2016-12-13 07:21:51 +09:00
Daisuke Maki 0ea80d7d90 remove unused field and params 2016-12-13 07:15:46 +09:00
Daisuke Maki 2dbfd78205 Rework #369
* --fuzzy-filter seems unnecessary
* regexp.Regexp is overkill. Implement in terms of Index*()
2016-12-12 17:12:07 +09:00
Eric F 21179c2c38 Implement #242: Made the fuzzy filter configurable 2016-12-08 17:20:55 +11:00
Eric F 4c4b4535ed Implement #242: fuzzy finder filter
- The fuzzy finder is implemented as a new filter, which
re-uses the RegexpFilter.
- A new queryTransformer field has been added to the RegexpFilter
struct to allow changing the user query before applying the filter.
- The new queryTransformer is used for the fuzzy filter to change
the user query into a regexp.
- Also added a test in filter_test.go
2016-11-28 00:00:28 +11:00
Daisuke Maki 821af182ab reinstate single key jump
the caching was more agressive than before, and we forgot to
initialize the structure correctly

TODO: Write tests to catch this

fixes #331
2016-08-22 17:56:32 +09:00
Syohei YOSHIDA aa4065aa62 Clone idgen field too 2016-08-21 02:32:19 +09:00
Daisuke Maki 87b4ad48a0 fix to work with new pipeline 2016-08-18 11:04:40 +09:00
Daisuke Maki f578cfc850 Various tweaks to remove locking and interdependency
* Source does not depend on MemoryBuffer
* Remove a bunch of mutexes
* Change them to RWMutex where applicable
2016-07-02 16:19:17 +09:00
Daisuke Maki 497573e89a The "filter" itself does not need locking, just the regexp compilation 2016-07-01 16:45:08 +09:00
Daisuke Maki 7f70d73996 pass the id generator instead of state 2016-07-01 15:26:56 +09:00
Daisuke Maki 07a22aa466 refactor idgen so that it exits gracefully 2016-07-01 14:13:27 +09:00
Daisuke Maki d8e5bcb349 Move handling collecting results out of the context
This avoids possibly running a race condition during doFinish,
as doFinish onyl notifies that we're exiting now. Collecting the
data is now handled in the main function, after all of the
sub-goroutines are done.

fixes #321 (but only for peco > 0.3.6)
2016-07-01 13:19:02 +09:00