mirror of
https://github.com/lotabout/skim.git
synced 2026-09-10 07:16:23 -04:00
* Shrink binary: trim image decoders and swap color-eyre for eyre Two dependency changes that cut the default `sk` binary from 13.6 MiB to 8.55 MiB (-5.06 MiB, -37%) with no loss of core functionality: - image: build the `image` crate with only the common decoders (png, jpeg, gif, webp) instead of its full default format set, and drop ratatui-image's `image-defaults`. This removes AVIF encoding (ravif, avif-serialize), OpenEXR (exr), TIFF, QOI and other decoders that are irrelevant to terminal image previews. Previewing those formats now falls back to the normal command preview. - error handling: replace color-eyre with plain eyre. color-eyre only provided colored panic/error backtraces; skim used none of its Section/Help extension APIs. This drops the backtrace/gimli/addr2line/ color-spantrace stack. `color_eyre::install()` is no longer needed. Tests, benches and examples are migrated from color_eyre to eyre so the crate is fully removed from the dependency graph. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BQtxeCS4gM7dumghqmNgST * chore: fmt * docs: ARCHITECTURE.md * chore(flake): add cargo-bloat --------- Co-authored-by: Claude <noreply@anthropic.com>
20 lines
498 B
Rust
20 lines
498 B
Rust
//! Demonstrates basic item selection with inline status information.
|
|
|
|
use skim::prelude::*;
|
|
use skim::tui::statusline::InfoDisplay;
|
|
|
|
fn main() -> eyre::Result<()> {
|
|
let opts = SkimOptionsBuilder::default()
|
|
.multi(true)
|
|
.reverse(true)
|
|
.info(InfoDisplay::Inline)
|
|
.build()?;
|
|
let res = Skim::run_items(opts, ["hello", "world"])?;
|
|
|
|
for item in res.selected_items {
|
|
println!("Selected {} (id {})", item.output(), item.rank.index);
|
|
}
|
|
|
|
Ok(())
|
|
}
|