feat: add --hovered to the copy command (#2709)

Co-authored-by: sxyazi <sxyazi@gmail.com>
This commit is contained in:
hankertrix 2025-05-02 12:02:40 +00:00 committed by GitHub
parent 37e8747c01
commit 5da39722e4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -8,6 +8,7 @@ use crate::tab::Tab;
struct Opt {
type_: Cow<'static, str>,
separator: Separator,
hovered: bool,
}
impl From<CmdCow> for Opt {
@ -15,6 +16,7 @@ impl From<CmdCow> for Opt {
Self {
type_: c.take_first_str().unwrap_or_default(),
separator: c.str("separator").unwrap_or_default().into(),
hovered: c.bool("hovered"),
}
}
}
@ -27,7 +29,13 @@ impl Tab {
}
let mut s = OsString::new();
let mut it = self.selected_or_hovered().peekable();
let mut it = if opt.hovered {
Box::new(self.hovered().map(|h| &h.url).into_iter())
} else {
self.selected_or_hovered()
}
.peekable();
while let Some(u) = it.next() {
s.push(match opt.type_.as_ref() {
"path" => opt.separator.transform(u),