Commit graph

1925 commits

Author SHA1 Message Date
lestrrat e1453e217c
Merge pull request #793 from peco/update-manpage
docs: update man page
2026-02-22 11:45:43 +09:00
lestrrat 05d06f3a48
Merge pull request #791 from peco/docs-changelog
Tweak
2026-02-22 11:45:11 +09:00
lestrrat fdf0c9040a docs: regenerate man page from README 2026-02-22 00:07:02 +00:00
lestrrat 9a70e05aa9
Merge pull request #792 from peco/docs-readme-review-fixes
tweaks to README
2026-02-22 09:06:38 +09:00
Daisuke Maki 28039b1bd9 tweaks to README 2026-02-22 09:01:04 +09:00
Daisuke Maki f0ea966553 Tweak 2026-02-22 08:14:10 +09:00
lestrrat ba5c351e63
Merge pull request #790 from peco/docs-changelog
Update Changes
2026-02-22 06:44:39 +09:00
Daisuke Maki e37246c18e Update Changes 2026-02-22 06:42:32 +09:00
lestrrat b65eb6e7b1
Merge pull request #787 from peco/fix-matched-pool
fix: pool Matched structs with sync.Pool to reduce GC pressure
2026-02-22 00:33:31 +09:00
Daisuke Maki bf8595be01 merge master, resolve bench_test conflicts 2026-02-22 00:31:46 +09:00
Daisuke Maki 6be528ba24 fix: lint issues in matched pool 2026-02-22 00:29:33 +09:00
lestrrat 7a63934041
Merge pull request #789 from peco/fix-merge-matches-alloc
fix: in-place mergeMatches to avoid per-merge heap allocation
2026-02-22 00:29:32 +09:00
lestrrat bf02727ebd
Merge pull request #788 from peco/fix-displaystring-alloc
fix: avoid redundant displayString storage and alloc in DisplayString
2026-02-22 00:29:04 +09:00
lestrrat 43becc50fa
Merge pull request #786 from peco/fix-strip-ansi-alloc
fix: fast-path StripANSISequence to skip regexp when no ESC byte
2026-02-22 00:28:28 +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 b4c5d2e928 fix: avoid redundant displayString storage and alloc in DisplayString
Benchmark (10k lines, enableANSI=false):
  1244us -> 331us (-73%), 2541KiB -> 781KiB (-69%), 40k -> 10k allocs (-75%)
2026-02-22 00:26:11 +09:00
Daisuke Maki 4b6baa3751 fix: in-place mergeMatches to avoid per-merge heap allocation
Benchmark (10k lines, overlapping matches):
  47.4ms -> 42.8ms (-10%), 27.3MiB -> 21.3MiB (-22%), 861k -> 471k allocs (-45%)
2026-02-22 00:26:06 +09:00
Daisuke Maki 4b1dfa1c4d fix: fast-path StripANSISequence to skip regexp when no ESC byte
Benchmark (10k lines):
  plain text: 1023us -> 37us (-96%), 1.7MiB -> 0B (-100%), 30k -> 0 allocs
  95% plain:  1064us -> 162us (-85%), 1720KiB -> 63KiB (-96%), 30.5k -> 2k allocs
2026-02-22 00:26:02 +09:00
lestrrat a79df901f7
Merge pull request #784 from peco/fix-regexp-match-alloc
fix: reuse match/dedup slices across regexp filter loop iterations
2026-02-21 22:29:10 +09:00
Daisuke Maki 6ea14d47b9 fix: reuse match/dedup slices across regexp filter loop iterations
Move slice declarations outside loop and reset with [:0] each iteration.

| Metric     | Before  | After   | Delta  |
|------------|---------|---------|--------|
| allocs/op  | 2209    | 1813    | -396   |
| B/op       | 176836  | 147849  | -28987 |
| ns/op      | ~352k   | ~317k   | -10%   |
2026-02-21 22:28:36 +09:00
lestrrat a91172b458
Merge pull request #783 from peco/fix-closure-alloc
fix: eliminate closure allocation in fuzzy filter
2026-02-21 22:26:45 +09:00
Daisuke Maki 7588d33015 fix: eliminate closure allocation in fuzzy filter
Replace strings.IndexFunc with closure with direct CaseInsensitiveIndex.

| Metric     | Before  | After   | Delta  |
|------------|---------|---------|--------|
| allocs/op  | 3018    | 2018    | -1000  |
| B/op       | 123016  | 107014  | -16002 |
| ns/op      | ~113k   | ~88k    | -22%   |
2026-02-21 22:25:06 +09:00
lestrrat a19fa681e2
Merge pull request #785 from peco/fix-hub-batch-ctx
fix: merge two context keys into one in Hub.Batch
2026-02-21 22:24:19 +09:00
lestrrat 35e1681805
Merge pull request #782 from peco/fix-fuzzy-match-alloc
fix: pre-allocate flat backing array for fuzzy match pairs
2026-02-21 22:23:14 +09:00
lestrrat c0d97e2a49
Merge pull request #781 from peco/fix-ansi-split-alloc
fix: use stack-allocated array for SGR parameter parsing
2026-02-21 22:22:40 +09:00
lestrrat 06c4370c85
Merge pull request #780 from peco/test-ansi-color-boundary
Add tests for matching over color boundaries (me being paranoid)
2026-02-21 22:21:41 +09:00
Daisuke Maki e2bc390c68 fix: merge two context keys into one in Hub.Batch
Reduce context.WithValue calls from 2 to 1 per Batch invocation.

| Metric     | Before | After | Delta |
|------------|--------|-------|-------|
| allocs/op  | 3      | 2     | -1    |
| B/op       | 128    | 80    | -48   |
| ns/op      | ~372   | ~352  | -5%   |
2026-02-21 22:20:25 +09:00
Daisuke Maki 3c27da49ac fix: use stack-allocated array for SGR parameter parsing
Replace strings.Split with fixed [8]string array to avoid heap allocation.

| Metric     | Before | After | Delta |
|------------|--------|-------|-------|
| allocs/op  | 1      | 0     | -1    |
| B/op       | 48-80  | 0     | -100% |
| ns/op      | ~45    | ~20   | -55%  |
2026-02-21 22:20:21 +09:00
Daisuke Maki 580e062548 fix: pre-allocate flat backing array for fuzzy match pairs
Use a single backing []int with subslicing instead of per-match allocations.

| Metric     | Before  | After   | Delta  |
|------------|---------|---------|--------|
| allocs/op  | 3018    | 2018    | -1000  |
| B/op       | 123016  | 108616  | -14400 |
2026-02-21 22:20:19 +09:00
Daisuke Maki 8569cbd5bf appease linter 2026-02-21 22:18:04 +09:00
Daisuke Maki 40ac45f94d Add tests for matching over color boundaries (me being paranoid) 2026-02-21 21:30:18 +09:00
lestrrat ec3f2cb98b
Merge pull request #779 from peco/update-manpage
docs: update man page
2026-02-21 21:23:27 +09:00
lestrrat 5c39fff7ad docs: regenerate man page from README 2026-02-21 11:35:56 +00:00
lestrrat 113c0aee16
Merge pull request #778 from peco/docs-changelog-readme
Update docs
2026-02-21 20:35:33 +09:00
lestrrat 1a8dda7f4f
Merge pull request #777 from peco/dependabot/go_modules/github.com/mattn/go-runewidth-0.0.20
Bump github.com/mattn/go-runewidth from 0.0.19 to 0.0.20
2026-02-21 20:33:31 +09:00
Daisuke Maki 17536e1410 Update docs 2026-02-21 20:33:02 +09:00
dependabot[bot] e01669b48d
Bump github.com/mattn/go-runewidth from 0.0.19 to 0.0.20
Bumps [github.com/mattn/go-runewidth](https://github.com/mattn/go-runewidth) from 0.0.19 to 0.0.20.
- [Commits](https://github.com/mattn/go-runewidth/compare/v0.0.19...v0.0.20)

---
updated-dependencies:
- dependency-name: github.com/mattn/go-runewidth
  dependency-version: 0.0.20
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-21 10:02:26 +00:00
lestrrat 6869d4dcfa
Merge pull request #776 from peco/feat-ansi-default
make color support default, change option name to color
2026-02-21 18:40:43 +09:00
Daisuke Maki 14530444b1 appease linter 2026-02-21 16:04:30 +09:00
Daisuke Maki f689006279 change cli option / config name validate better 2026-02-21 15:59:42 +09:00
Daisuke Maki 9ab2b5af84 make color support default, change option name to color 2026-02-21 15:43:34 +09:00
lestrrat f05b49ceef
Merge pull request #775 from peco/dependabot/github_actions/peter-evans/create-pull-request-8.1.0
Bump peter-evans/create-pull-request from 7.0.11 to 8.1.0
2026-02-21 15:24:05 +09:00
dependabot[bot] 1bfa7d2467
Bump peter-evans/create-pull-request from 7.0.11 to 8.1.0
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 7.0.11 to 8.1.0.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](22a9089034...c0f553fe54)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-version: 8.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-21 00:52:16 +00:00
lestrrat 76a48722da
Merge pull request #774 from peco/fix-filteredbuffer-errmsg
fix FilteredBuffer.LineAt error message
2026-02-21 08:04:25 +09:00
lestrrat 82a4d605b7
Merge pull request #773 from peco/fix-hub-pool-comment
add comment explaining pool type assertion safety
2026-02-21 08:04:06 +09:00
lestrrat 673f8b0688
Merge pull request #772 from peco/fix-source-race
fix data race on Source.inClosed
2026-02-21 08:03:54 +09:00
lestrrat cc2d63bb15
Merge pull request #771 from peco/fix-test-require
convert t.Errorf/t.Fatal to testify/require
2026-02-21 08:03:03 +09:00
Daisuke Maki 8c4db9e026 convert t.Errorf/t.Fatal to testify/require 2026-02-21 07:58:26 +09:00
Daisuke Maki 44d5885a2f fix data race on Source.inClosed 2026-02-21 07:58:24 +09:00
Daisuke Maki e024c7a01e add comment explaining pool type assertion safety 2026-02-21 07:58:14 +09:00