Commit graph

1690 commits

Author SHA1 Message Date
Loric ANDRE a766762b5a release: v3.1.0 2026-02-13 10:01:15 +01:00
LoricAndre 98a9184055
feat: add set-preview-cmd action to change preview (#969)
* feat: add set-preview-cmd action to change preview

* chore: update manpage

* chore: generate completions & manpage

---------

Co-authored-by: Skim bot <skim-bot@skim-rs.github.io>
2026-02-13 08:32:13 +00:00
LoricAndre de7eab7619
feat(cli): add SKIM_OPTIONS_FILE (#972)
* feat(cli): add SKIM_OPTIONS_FILE

* chore: generate completions & manpage

---------

Co-authored-by: Skim bot <skim-bot@skim-rs.github.io>
2026-02-13 09:24:05 +01:00
Loric ANDRE b02ef7b878 chore: remove duplicate changelog entry 2026-02-12 15:44:39 +01:00
Loric ANDRE 17c801bb07 release: v3.0.1 2026-02-12 15:24:16 +01:00
tzachar 4749154e5b
docs: add link to sqlite_skim (#971) [skip ci] 2026-02-12 15:14:28 +01:00
Loric ANDRE 4c12048762 fix: restart_matcher race condition (closes #970) 2026-02-12 15:08:37 +01:00
Loric ANDRE 267fb0c72e release: v3.0.0 2026-02-12 12:10:29 +01:00
LoricAndre e9fb1877c0
feat(lib): add fine-grained control over skim's event loop (#968)
* feat(lib): add fine-grained control over skim's event loop

* fix: do not panic on reload

* fix: cleaner handling of reload
2026-02-12 11:57:02 +01:00
Loric ANDRE 6bb1008101 chore(ci): make codecov less aggressive 2026-02-11 19:51:49 +01:00
Loric ANDRE d2f0a7f952 fix: run preview on move after selection 2026-02-11 18:34:05 +01:00
Loric ANDRE 149b47f37d feat: readd --sync functionality 2026-02-11 18:22:47 +01:00
Loric ANDRE d11e627ba6 feat!: use smarter setters, remove the need for Some(...) and String::from() in setters 2026-02-11 18:18:35 +01:00
Loric ANDRE 495b9ae611 docs: detail pty preview window flag [skip ci] 2026-02-11 13:30:33 +01:00
LoricAndre 9d0fb5eec9
feat: reduce DefaultSkimItem memory footprint by around 25% by default (#966) 2026-02-11 13:24:49 +01:00
Loric ANDRE a4f32c5533 docs: update nightly version [skip ci] 2026-02-11 10:01:55 +01:00
Loric ANDRE 1b23121956 chore: update frizbee and nightly version 2026-02-11 10:00:56 +01:00
依云 87b14ef577
fix: implement cursor_pos_from_tty ourselves (#963)
* fix: implement cursor_pos_from_tty ourselves

termion's cursor_pos has a very short timeout that won't work across
oceans; also it uses the wrong clock.

There is no need to try stdout first or read from stdin; it always works
with /dev/tty.

Using select because poll is said to not work with /dev/tty on macOS.[^1]

Using nix because it's already at the toplevel of dependencies.

[^1]: https://docs.rs/rustix/1.1.3/rustix/event/fn.poll.html

* chore: get rid of termion
2026-02-11 09:38:02 +01:00
dependabot[bot] d48f3f5e32
chore(deps): bump rand from 0.9.2 to 0.10.0 (#958)
Bumps [rand](https://github.com/rust-random/rand) from 0.9.2 to 0.10.0.
- [Release notes](https://github.com/rust-random/rand/releases)
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-random/rand/compare/rand_core-0.9.2...0.10.0)

---
updated-dependencies:
- dependency-name: rand
  dependency-version: 0.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-10 21:51:42 +00:00
dependabot[bot] db507d6f59
chore(deps): bump clap from 4.5.56 to 4.5.57 (#955)
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.56 to 4.5.57.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.56...clap_complete-v4.5.57)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.5.57
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-10 14:01:13 +01:00
dependabot[bot] 812525d582
chore(deps): bump tempfile from 3.24.0 to 3.25.0 (#956)
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.24.0 to 3.25.0.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/commits)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-version: 3.25.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-10 14:00:52 +01:00
dependabot[bot] ef041436f7
chore(deps): bump interprocess from 2.2.3 to 2.3.1 (#957)
Bumps [interprocess](https://github.com/kotauskas/interprocess) from 2.2.3 to 2.3.1.
- [Release notes](https://github.com/kotauskas/interprocess/releases)
- [Commits](https://github.com/kotauskas/interprocess/compare/2.2.3...2.3.1)

---
updated-dependencies:
- dependency-name: interprocess
  dependency-version: 2.3.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-10 14:00:40 +01:00
dependabot[bot] c051be779e
chore(deps): bump regex from 1.12.2 to 1.12.3 (#959)
Bumps [regex](https://github.com/rust-lang/regex) from 1.12.2 to 1.12.3.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.12.2...1.12.3)

---
updated-dependencies:
- dependency-name: regex
  dependency-version: 1.12.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-10 14:00:27 +01:00
kimono-koans e23a259451
feat: optimize match_item to use ref and not Arc (#962) 2026-02-10 10:16:00 +01:00
Loric ANDRE fdd93644b4 chore: test matchers 2026-02-09 23:31:43 +01:00
Loric ANDRE 00d32b6f9d chore: add coverage flag to README 2026-02-09 22:55:41 +01:00
Loric ANDRE b3ebf9db92 chore: ignore coverage files [skip ci] 2026-02-09 22:48:31 +01:00
LoricAndre a08f6ac9b3
feat!: interactive pty preview & concurrency optimizations (#952)
This PR has grown beyond its initial scope due to me over-optimizing everything, but it leads to:

    Paving the way for future actually interactive previews
    Consistently better performance than fzf in our bench thanks to thread and concurrency optimizations as well as the use of kanal for the items channels

Given the scope, I'm marking this as breaking because:

    setting wrap in the preview window layout disables the pty since we don't want to manipulate the raw buffer to word-wrap it manually
    kanal channels work slightly differently and might break library usage, even though switching to them did not require any modifications of the examples so it's unlikely that users will see anything break


* fix: force cwd for preview

* fix: correctly set cwd & kill pty child in the right order

* fix: use std threads & reopen new pty for each preview

* feat: use tui-term for displaying

* feat: scroll in pty

* fix: make nested skim previews work

* fix: clippy mistake

* feat: reactive preview triggering

* chore: generate completions & manpage

* chore: optimizations & thread cleanup

* chore: use kanal for faster channels

* fix: tests

* fix: only send items if the matcher hasn't been killed in the meantime (#947)

* tests: add coverage

* tests: fix bin path with coverage

* tests: upload tests to codecov

* chore: make pty opt-in through preview-window

* chore: generate completions & manpage

---------

Co-authored-by: Skim bot <skim-bot@skim-rs.github.io>
2026-02-09 21:43:04 +00:00
Loric ANDRE 719de73182 docs: specify nightly version in README 2026-02-09 19:02:47 +01:00
dependabot[bot] 8a8b2c6149
chore(deps): bump time from 0.3.46 to 0.3.47 (#948)
Bumps [time](https://github.com/time-rs/time) from 0.3.46 to 0.3.47.
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.46...v0.3.47)

---
updated-dependencies:
- dependency-name: time
  dependency-version: 0.3.47
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-05 22:24:18 +01:00
dependabot[bot] b1b35d387f
chore(deps): bump bytes from 1.11.0 to 1.11.1 (#946)
Bumps [bytes](https://github.com/tokio-rs/bytes) from 1.11.0 to 1.11.1.
- [Release notes](https://github.com/tokio-rs/bytes/releases)
- [Changelog](https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/bytes/compare/v1.11.0...v1.11.1)

---
updated-dependencies:
- dependency-name: bytes
  dependency-version: 1.11.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-03 22:49:29 +00:00
Loric ANDRE d245fdd002 fix: manually patch modifiers (closes #945) 2026-02-03 23:38:40 +01:00
Loric ANDRE e93c152d8d release: v2.0.2 2026-02-02 20:13:02 +01:00
Loric ANDRE 827688b63c fix: fix preview_fn 2026-02-02 19:21:11 +01:00
Loric ANDRE 85b811ab3b chore: update interactive mode examples (closes #943) 2026-02-01 16:10:16 +01:00
Loric ANDRE 1c1279514b release: v2.0.1 2026-02-01 16:05:43 +01:00
LoricAndre ee0d6dcd19
fix(linux): run preview in a PTY (closes #894) (#897)
* Reapply "fix: run preview in a PTY (closes #894)"

This reverts commit c5eb948500.

* chore: use pty only on linux

* chore: add test
2026-02-01 15:57:41 +01:00
Loric ANDRE 2ac22b6344 release: v2.0.0 2026-01-31 10:25:41 +01:00
Loric ANDRE 015fd28db6 chore: add valgrind and thread sanitizer test profiles [skip ci] 2026-01-31 09:56:49 +01:00
LoricAndre b96c65507e
feat!: send & receive items in batches (#938)
* feat!: send & receive items in batches

* fix: add timeout

* Revert "fix: matcher race condition at startup"

This reverts commit 8e25217a01.

* fix: correctly init matcher_control as stopped
2026-01-29 17:57:39 +00:00
Loric ANDRE 5446f20e8c release: v1.11.2 2026-01-29 18:31:00 +01:00
Loric ANDRE d45f4c41fe fix: always make ctrl-d abort (closes #941) 2026-01-29 18:23:10 +01:00
Loric ANDRE 9f9771f79a release: v1.11.1 2026-01-29 13:08:24 +01:00
Loric ANDRE 77144056ca fix: do not enter TUI early if the matcher needs restarting before ingestion done (closes #940) 2026-01-29 12:53:14 +01:00
Loric ANDRE f31a844873 chore: reduce FPS for better performance 2026-01-29 12:38:07 +01:00
Loric ANDRE 099ab75f8a chore: add nix flake for dev [skip ci] 2026-01-28 17:40:26 +01:00
Loric ANDRE 923b018aa3 release: v1.11.0 2026-01-27 22:35:50 +01:00
Loric ANDRE c0a368b901 feat: add custom action for lib usage (closes #537) 2026-01-27 19:50:52 +01:00
Loric ANDRE edaea9f34a release: v1.10.0 2026-01-27 16:44:54 +01:00
Loric ANDRE 9654ad321a fix: always display item_list (closes #939) 2026-01-27 15:06:05 +01:00