mirror of
https://github.com/lotabout/skim.git
synced 2026-09-10 07:16:23 -04:00
chore(release): release (#835)
* chore(release): release * chore: generate completions & manpage * chore: clippy with new version * chore: fmt --------- Co-authored-by: skim-rs-bot[bot] <190268553+skim-rs-bot[bot]@users.noreply.github.com> Co-authored-by: Skim bot <skim-bot@skim-rs.github.io> Co-authored-by: LoricAndre <loric.andre@pm.me>
This commit is contained in:
parent
cbd1765881
commit
06c3a13ba7
|
|
@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
|
||||
## [Unreleased]
|
||||
|
||||
## [0.20.5](https://github.com/skim-rs/skim/compare/v0.20.4...v0.20.5) - 2025-08-09
|
||||
|
||||
### <!-- 1 -->🐛 Bug Fixes
|
||||
|
||||
- compile without the cli feature ([#834](https://github.com/skim-rs/skim/pull/834))
|
||||
|
||||
## [0.20.4](https://github.com/skim-rs/skim/compare/v0.20.3...v0.20.4) - 2025-08-02
|
||||
|
||||
### <!-- 1 -->🐛 Bug Fixes
|
||||
|
|
|
|||
44
Cargo.lock
generated
44
Cargo.lock
generated
|
|
@ -28,9 +28,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "anstream"
|
||||
version = "0.6.19"
|
||||
version = "0.6.20"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933"
|
||||
checksum = "3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192"
|
||||
dependencies = [
|
||||
"anstyle",
|
||||
"anstyle-parse",
|
||||
|
|
@ -58,22 +58,22 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "anstyle-query"
|
||||
version = "1.1.3"
|
||||
version = "1.1.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9"
|
||||
checksum = "9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2"
|
||||
dependencies = [
|
||||
"windows-sys 0.59.0",
|
||||
"windows-sys 0.60.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "anstyle-wincon"
|
||||
version = "3.0.9"
|
||||
version = "3.0.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882"
|
||||
checksum = "3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a"
|
||||
dependencies = [
|
||||
"anstyle",
|
||||
"once_cell_polyfill",
|
||||
"windows-sys 0.59.0",
|
||||
"windows-sys 0.60.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -125,9 +125,9 @@ checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
|
|||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.2.31"
|
||||
version = "1.2.32"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c3a42d84bb6b69d3a8b3eaacf0d88f179e1929695e1ad012b6cf64d9caaa5fd2"
|
||||
checksum = "2352e5597e9c544d5e6d9c95190d5d27738ade584fa8db0a16e130e5c2b5296e"
|
||||
dependencies = [
|
||||
"shlex",
|
||||
]
|
||||
|
|
@ -160,9 +160,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "clap"
|
||||
version = "4.5.42"
|
||||
version = "4.5.43"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ed87a9d530bb41a67537289bafcac159cb3ee28460e0a4571123d2a778a6a882"
|
||||
checksum = "50fd97c9dc2399518aa331917ac6f274280ec5eb34e555dd291899745c48ec6f"
|
||||
dependencies = [
|
||||
"clap_builder",
|
||||
"clap_derive",
|
||||
|
|
@ -170,9 +170,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "clap_builder"
|
||||
version = "4.5.42"
|
||||
version = "4.5.43"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "64f4f3f3c77c94aff3c7e9aac9a2ca1974a5adf392a8bb751e827d6d127ab966"
|
||||
checksum = "c35b5830294e1fa0462034af85cc95225a4cb07092c088c55bda3147cfcd8f65"
|
||||
dependencies = [
|
||||
"anstream",
|
||||
"anstyle",
|
||||
|
|
@ -182,9 +182,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "clap_complete"
|
||||
version = "4.5.55"
|
||||
version = "4.5.56"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a5abde44486daf70c5be8b8f8f1b66c49f86236edf6fa2abadb4d961c4c6229a"
|
||||
checksum = "67e4efcbb5da11a92e8a609233aa1e8a7d91e38de0be865f016d14700d45a7fd"
|
||||
dependencies = [
|
||||
"clap",
|
||||
]
|
||||
|
|
@ -519,9 +519,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "hashbrown"
|
||||
version = "0.15.4"
|
||||
version = "0.15.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5"
|
||||
checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
|
||||
|
||||
[[package]]
|
||||
name = "heck"
|
||||
|
|
@ -863,9 +863,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "rustversion"
|
||||
version = "1.0.21"
|
||||
version = "1.0.22"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d"
|
||||
checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
|
|
@ -904,7 +904,7 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
|
|||
|
||||
[[package]]
|
||||
name = "skim"
|
||||
version = "0.20.4"
|
||||
version = "0.20.5"
|
||||
dependencies = [
|
||||
"beef",
|
||||
"bitflags 1.3.2",
|
||||
|
|
@ -939,7 +939,7 @@ version = "0.2.0"
|
|||
|
||||
[[package]]
|
||||
name = "skim-tuikit"
|
||||
version = "0.6.5"
|
||||
version = "0.6.6"
|
||||
dependencies = [
|
||||
"bitflags 1.3.2",
|
||||
"env_logger",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.TH sk 1 "sk 0.20.4"
|
||||
.TH sk 1 "sk 0.20.5"
|
||||
.SH NAME
|
||||
sk \- sk \- fuzzy finder in Rust
|
||||
.SH SYNOPSIS
|
||||
|
|
@ -753,4 +753,4 @@ Note: While PowerShell completions are supported, Windows is not supported for n
|
|||
.br
|
||||
[\fIpossible values: \fRbash, elvish, fish, powershell, zsh]
|
||||
.SH VERSION
|
||||
v0.20.4
|
||||
v0.20.5
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ impl<T> SpinLock<T> {
|
|||
}
|
||||
|
||||
impl<T: ?Sized> SpinLock<T> {
|
||||
pub fn lock(&self) -> SpinLockGuard<T> {
|
||||
pub fn lock(&self) -> SpinLockGuard<'_, T> {
|
||||
while self
|
||||
.locked
|
||||
.compare_exchange(false, true, Ordering::SeqCst, Ordering::SeqCst)
|
||||
|
|
@ -130,7 +130,7 @@ mod tests {
|
|||
|
||||
#[test]
|
||||
fn test_mutex_unsized() {
|
||||
let mutex: &SpinLock<[i32]> = &SpinLock::new([1, 2, 3]);
|
||||
let mutex = SpinLock::new([1, 2, 3]);
|
||||
{
|
||||
let b = &mut *mutex.lock();
|
||||
b[0] = 4;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "skim-tuikit"
|
||||
version = "0.6.5"
|
||||
version = "0.6.6"
|
||||
authors = ["Jinzhou Zhang <lotabout@gmail.com>"]
|
||||
description = "Toolkit for writing TUI applications"
|
||||
documentation = "https://docs.rs/skim-tuikit"
|
||||
|
|
|
|||
|
|
@ -444,10 +444,9 @@ impl KeyBoard {
|
|||
let pos_semi = self.byte_buf.iter().position(|&b| b == b';');
|
||||
let pos_r = self.byte_buf.iter().position(|&b| b == b'R');
|
||||
|
||||
if pos_semi.is_some() && pos_r.is_some() {
|
||||
let pos_semi = pos_semi.unwrap();
|
||||
let pos_r = pos_r.unwrap();
|
||||
|
||||
if let Some(pos_semi) = pos_semi
|
||||
&& let Some(pos_r) = pos_r
|
||||
{
|
||||
if pos_r > pos_semi {
|
||||
let remain = self.byte_buf.split_off(pos_r + 1);
|
||||
let mut col_str = self.byte_buf.split_off(pos_semi + 1);
|
||||
|
|
|
|||
|
|
@ -55,10 +55,10 @@ impl Output {
|
|||
}
|
||||
|
||||
fn write_cap_with_params(&mut self, cap: &str, params: &[Param]) {
|
||||
if let Some(cmd) = self.terminfo.strings.get(cap) {
|
||||
if let Ok(s) = expand(cmd, params, &mut Variables::new()) {
|
||||
self.buffer.extend(&s);
|
||||
}
|
||||
if let Some(cmd) = self.terminfo.strings.get(cap)
|
||||
&& let Ok(s) = expand(cmd, params, &mut Variables::new())
|
||||
{
|
||||
self.buffer.extend(&s);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ impl<W: Write + AsFd + AsRawFd> Write for RawTerminal<W> {
|
|||
}
|
||||
|
||||
impl<W: Write + AsFd + AsRawFd> AsFd for RawTerminal<W> {
|
||||
fn as_fd(&self) -> BorrowedFd {
|
||||
fn as_fd(&self) -> BorrowedFd<'_> {
|
||||
self.output.as_fd()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -211,7 +211,7 @@ impl Screen {
|
|||
/// assert_eq!(Some((0, 0, &Cell{ ch: 'a', ..Cell::default()})), iter.next());
|
||||
/// assert_eq!(None, iter.next());
|
||||
/// ```
|
||||
pub fn iter_cell(&self) -> CellIterator {
|
||||
pub fn iter_cell(&self) -> CellIterator<'_> {
|
||||
CellIterator {
|
||||
width: self.width,
|
||||
index: 0,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "skim"
|
||||
version = "0.20.4"
|
||||
version = "0.20.5"
|
||||
authors = ["Zhang Jinzhou <lotabout@gmail.com>", "Loric Andre"]
|
||||
description = "Fuzzy Finder in rust!"
|
||||
documentation = "https://docs.rs/skim"
|
||||
|
|
@ -39,7 +39,7 @@ regex = { workspace = true }
|
|||
shell-quote = { workspace = true }
|
||||
shlex = { workspace = true, optional = true }
|
||||
skim-common = { path = "../skim-common/", version = "0.2.0" }
|
||||
skim-tuikit = { path = "../skim-tuikit/", version = "0.6.5" }
|
||||
skim-tuikit = { path = "../skim-tuikit/", version = "0.6.6" }
|
||||
time = { workspace = true }
|
||||
timer = { workspace = true }
|
||||
unicode-width = { workspace = true }
|
||||
|
|
|
|||
|
|
@ -93,11 +93,11 @@ impl DefaultSkimItem {
|
|||
|
||||
impl SkimItem for DefaultSkimItem {
|
||||
#[inline]
|
||||
fn text(&self) -> Cow<str> {
|
||||
fn text(&self) -> Cow<'_, str> {
|
||||
Cow::Borrowed(self.text.stripped())
|
||||
}
|
||||
|
||||
fn output(&self) -> Cow<str> {
|
||||
fn output(&self) -> Cow<'_, str> {
|
||||
if self.orig_text.is_some() {
|
||||
if self.text.has_attrs() {
|
||||
let mut ansi_parser: ANSIParser = Default::default();
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ type KeyActions<'a> = (&'a str, Vec<(&'a str, Option<String>)>);
|
|||
|
||||
/// parse key action string to `(key, action, argument)` tuple
|
||||
/// key_action is comma separated: 'ctrl-j:accept,ctrl-k:kill-line'
|
||||
pub fn parse_key_action(key_action: &str) -> Vec<KeyActions> {
|
||||
pub fn parse_key_action(key_action: &str) -> Vec<KeyActions<'_>> {
|
||||
// match `key:action` or `key:action:arg` or `key:action(arg)` etc.
|
||||
static RE: LazyLock<Regex> = LazyLock::new(|| {
|
||||
Regex::new(
|
||||
|
|
|
|||
|
|
@ -195,13 +195,13 @@ impl ItemPool {
|
|||
pool.len()
|
||||
}
|
||||
|
||||
pub fn take(&self) -> ItemPoolGuard<Arc<dyn SkimItem>> {
|
||||
pub fn take(&self) -> ItemPoolGuard<'_, Arc<dyn SkimItem>> {
|
||||
let guard = self.pool.lock();
|
||||
let taken = self.taken.swap(guard.len(), Ordering::SeqCst);
|
||||
ItemPoolGuard { guard, start: taken }
|
||||
}
|
||||
|
||||
pub fn reserved(&self) -> ItemPoolGuard<Arc<dyn SkimItem>> {
|
||||
pub fn reserved(&self) -> ItemPoolGuard<'_, Arc<dyn SkimItem>> {
|
||||
let guard = self.reserved_items.lock();
|
||||
ItemPoolGuard { guard, start: 0 }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ impl<T: Any> AsAny for T {
|
|||
/// ```
|
||||
pub trait SkimItem: AsAny + Send + Sync + 'static {
|
||||
/// The string to be used for matching (without color)
|
||||
fn text(&self) -> Cow<str>;
|
||||
fn text(&self) -> Cow<'_, str>;
|
||||
|
||||
/// The content to be displayed on the item list, could contain ANSI properties
|
||||
fn display<'a>(&'a self, context: DisplayContext<'a>) -> AnsiString<'a> {
|
||||
|
|
@ -120,7 +120,7 @@ pub trait SkimItem: AsAny + Send + Sync + 'static {
|
|||
/// Note that this function is intended to be used by the caller of skim and will not be used by
|
||||
/// skim. And since skim will return the item back in `SkimOutput`, if string is not what you
|
||||
/// want, you could still use `downcast` to retain the pointer to the original struct.
|
||||
fn output(&self) -> Cow<str> {
|
||||
fn output(&self) -> Cow<'_, str> {
|
||||
self.text()
|
||||
}
|
||||
|
||||
|
|
@ -146,7 +146,7 @@ pub trait SkimItem: AsAny + Send + Sync + 'static {
|
|||
// Implement SkimItem for raw strings
|
||||
|
||||
impl<T: AsRef<str> + Send + Sync + 'static> SkimItem for T {
|
||||
fn text(&self) -> Cow<str> {
|
||||
fn text(&self) -> Cow<'_, str> {
|
||||
Cow::Borrowed(self.as_ref())
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -418,13 +418,13 @@ impl Model {
|
|||
|
||||
// Check if query meets minimum length requirement before restarting matcher
|
||||
// In interactive mode, the command query is used as the search query
|
||||
if let Some(min_length) = self.min_query_length {
|
||||
if env.cmd_query.chars().count() < min_length {
|
||||
// Clear selection if query is too short
|
||||
self.selection.clear();
|
||||
// Don't restart matcher if query is too short
|
||||
return;
|
||||
}
|
||||
if let Some(min_length) = self.min_query_length
|
||||
&& env.cmd_query.chars().count() < min_length
|
||||
{
|
||||
// Clear selection if query is too short
|
||||
self.selection.clear();
|
||||
// Don't restart matcher if query is too short
|
||||
return;
|
||||
}
|
||||
|
||||
self.restart_matcher();
|
||||
|
|
@ -443,13 +443,13 @@ impl Model {
|
|||
self.num_options = 0;
|
||||
|
||||
// Check if query meets minimum length requirement
|
||||
if let Some(min_length) = self.min_query_length {
|
||||
if env.query.chars().count() < min_length {
|
||||
// Clear selection if query is too short
|
||||
self.selection.clear();
|
||||
// Don't restart matcher if query is too short
|
||||
return;
|
||||
}
|
||||
if let Some(min_length) = self.min_query_length
|
||||
&& env.query.chars().count() < min_length
|
||||
{
|
||||
// Clear selection if query is too short
|
||||
self.selection.clear();
|
||||
// Don't restart matcher if query is too short
|
||||
return;
|
||||
}
|
||||
|
||||
self.restart_matcher();
|
||||
|
|
|
|||
|
|
@ -131,7 +131,7 @@ impl<T: Send + Ord + 'static> OrderedVec<T> {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn get(&self, index: usize) -> Option<Ref<T>> {
|
||||
pub fn get(&self, index: usize) -> Option<Ref<'_, T>> {
|
||||
self.merge_till(index);
|
||||
if self.len() <= index {
|
||||
None
|
||||
|
|
@ -160,7 +160,7 @@ impl<T: Send + Ord + 'static> OrderedVec<T> {
|
|||
self.len() == 0
|
||||
}
|
||||
|
||||
pub fn iter(&self) -> impl Iterator<Item = Ref<T>> {
|
||||
pub fn iter(&self) -> impl Iterator<Item = Ref<'_, T>> {
|
||||
self.merge_till(self.len());
|
||||
OrderedVecIter {
|
||||
ordered_vec: self,
|
||||
|
|
|
|||
Loading…
Reference in a new issue