github skim-rs/skim v3.0.0

latest release: v3.0.1
8 hours ago

Description

Changes

For everyone

Memory usage was optimized, bringing a ~25% reduction in memory usage in our benches. Thanks to @kimono-koans for the initial idea and help with this.

For CLI users

  • Added a :pty preview-window flag that will make the preview run in a PTY. This allows for more interactive commands and more complicated display, including running sk itself inside sk's preview (run SKIM_DEFAULT_OPTIONS='--preview "sk" --preview-window ":pty"' sk for the extreme version).
    Note: the pty preview does not take input (for now). For instance, scrolling in paged output will not work.
  • Readded --sync functionality after it was broken in v1

For library users

  • A more fine-grained control over skim's event loop is now possible using tokio and the new methods on Skim. Check them out if you want to interact with the skim instance while it is running.
  • [breaking] The SkimOptionsBuilder's setter methods are back to taking raw &strs instead of Strings. This should match the behavior pre-v1, sorry for the extra work that some of you already put in to migrate.

🚀 Features

  • Interactive pty preview & concurrency optimizations (#952)
  • Optimize match_item to use ref and not Arc (#962)
  • Reduce DefaultSkimItem memory footprint by around 25% by default (#966)
  • [breaking] Use smarter setters, remove the need for Some(...) and String::from() in setters
  • Readd --sync functionality
  • (lib) Add fine-grained control over skim's event loop (#968)

🐛 Bug Fixes

  • Manually patch modifiers (closes #945)
  • Implement cursor_pos_from_tty ourselves (#963)
  • Run preview on move after selection

📚 Documentation

  • Specify nightly version in README
  • Update nightly version [skip ci]
  • Detail pty preview window flag [skip ci]

⚙️ Miscellaneous Tasks

  • Ignore coverage files [skip ci]
  • Add coverage flag to README
  • Test matchers
  • Update frizbee and nightly version
  • (ci) Make codecov less aggressive

New Contributors

Install skim 3.0.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/skim-rs/skim/releases/download/v3.0.0/skim-installer.sh | sh

Download skim 3.0.0

File Platform Checksum
skim-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
skim-x86_64-apple-darwin.tar.xz Intel macOS checksum
skim-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
skim-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
skim-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum

Don't miss a new skim release

NewReleases is sending notifications on new releases.