Commit graph

67 commits

Author SHA1 Message Date
Daisuke Maki a66446d2e2 add follow mode for streaming input 2026-06-04 11:16:23 +09:00
Daisuke Maki a5c51bcc4b fix: pool Matched structs with sync.Pool to reduce GC pressure
Benchmark (10k lines x 3 cycles):
  pooled vs unpooled: 107KiB vs 562KiB (-81%), 2 vs 10k allocs
  end-to-end filter: 10.71MiB -> 10.14MiB (-5%), 150.6k -> 121.5k allocs (-19%)
2026-02-22 00:26:22 +09:00
Daisuke Maki 38ce584c21 fix FilteredBuffer.LineAt error message 2026-02-21 07:58:11 +09:00
Daisuke Maki 3bd446705d add negative index check to FilteredBuffer.LineAt 2026-02-20 22:43:56 +09:00
Daisuke Maki fc18c0d3de Methodically add function comments 2026-02-20 10:55:49 +09:00
Daisuke Maki 95e13933c2 Do away with interface.go files 2026-02-18 21:12:19 +09:00
Daisuke Maki 46331edcfd Check for far wider range of things in lint 2026-02-18 07:49:40 +09:00
Daisuke Maki 4922d24a68 simplify 2026-02-17 19:05:51 +09:00
Daisuke Maki f5f6262d82 use types in pipelines 2026-02-16 23:51:36 +09:00
Daisuke Maki 91339e96f9 Do away with pkg/errors 2026-02-16 22:06:21 +09:00
Daisuke Maki d691144f96 Create MarkComplete() method to avoid future us from deadlocking 2026-02-16 21:26:27 +09:00
Daisuke Maki d4ef70813f Implement zoom in/out 2026-02-16 19:49:49 +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 fbba2f8dc3 batch append 2026-02-16 10:07:00 +09:00
Daisuke Maki 835f4698c2 Use ctx.Done() to check for Send() success/failure 2026-02-16 09:59:59 +09:00
Daisuke Maki 97f408b99e First pass optimizing for large buffers 2026-02-16 09:00:07 +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 d02bb4122c Workaround glide being stubborn wrt lestrrat/go-pdebug -> lestrrat-go/pdebug 2018-10-25 09:50:16 +09:00
Daisuke Maki 98936082f0 Only calculate the column size when necessary
This trims down the calculation required by #409 to only those lines
that will appear on screen, and still controls how far right we can
scroll to
2017-03-17 09:42:33 +09:00
Daisuke Maki b500e2f628 Remove unused Append() 2016-12-14 18:23:59 +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 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 19ff36e276 Localize locking so that the one can Accept while doing other things 2016-07-01 15:38:38 +09:00
Daisuke Maki 7f70d73996 pass the id generator instead of state 2016-07-01 15:26:56 +09:00
Daisuke Maki b14cd4955b Make sure to initial buffer.start 2016-07-01 14:41:35 +09:00
Daisuke Maki 07a22aa466 refactor idgen so that it exits gracefully 2016-07-01 14:13:27 +09:00
Daisuke Maki bdcd74b2eb Remove the big lock around Source.Setup
This was causing deadlocks when requests to draw the screen were
received while setting up the source
2016-06-30 13:44:48 +09:00
Daisuke Maki 9cbe49c72d protect peco from race 2016-06-23 04:56:09 -04:00
Daisuke Maki 5d265d60e9 protect memorybuffer race 2016-06-23 04:32:09 -04:00
Daisuke Maki 68e614ed53 Make sure to reset the state source 2016-06-21 16:02:59 -04:00
Daisuke Maki b04024c411 Tweak draw timing, and buffer 2016-06-21 08:30:14 -04:00
Daisuke Maki a67fe2cda7 reinstate --select-1 2016-06-18 17:40:33 +09:00
Daisuke Maki c12cd97d29 Use pdebug instead of trace 2016-06-18 17:40:33 +09:00
Daisuke Maki 39031fd1f1 gofmt stuff 2016-06-18 17:40:33 +09:00
Daisuke Maki 10b2b57854 Fix locking 2016-06-18 17:40:33 +09:00
Daisuke Maki 4169593599 Remove bogus code 2016-06-18 17:40:33 +09:00
Daisuke Maki d5381eeee4 Cleanup 2016-06-18 17:40:33 +09:00
Daisuke Maki c24f6f0fe0 Remove unused code/types
note: ExternalCmdFilter should be re-checked
2016-06-18 17:40:33 +09:00
Daisuke Maki 7a239e4592 Fix tests, and things that change with it 2016-06-18 17:40:33 +09:00
Daisuke Maki 3c615080ba Cleanup some code 2016-06-18 17:40:33 +09:00
Daisuke Maki a78e298fc6 Remove unused stuff 2016-06-18 17:40:33 +09:00
Daisuke Maki 77099ef426 collect results from selection buffer 2016-06-18 17:40:33 +09:00
Daisuke Maki d996d054ca starting to plugin the new pipeline stuff 2016-06-18 17:40:33 +09:00
Daisuke Maki a8d042d93c highlighting is back 2016-06-18 17:39:02 +09:00
Daisuke Maki 39d36c41b8 back to being able to draw the screen 2016-06-18 17:39:02 +09:00
Daisuke Maki 7064a04efa fix updater loop 2016-06-18 17:39:02 +09:00