Skip to content

Commit f5598eb

Browse files
committed
feat: make UI extensions easier (#1257)
1 parent 54eb0cc commit f5598eb

66 files changed

Lines changed: 1025 additions & 788 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Cargo.lock

Lines changed: 130 additions & 59 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

yazi-boot/Cargo.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ yazi-config = { path = "../yazi-config", version = "0.2.5" }
1515
yazi-shared = { path = "../yazi-shared", version = "0.2.5" }
1616

1717
# External dependencies
18-
clap = { version = "4.5.7", features = [ "derive" ] }
19-
serde = { version = "1.0.203", features = [ "derive" ] }
18+
clap = { version = "4.5.9", features = [ "derive" ] }
19+
serde = { version = "1.0.204", features = [ "derive" ] }
2020

2121
[build-dependencies]
22-
clap = { version = "4.5.7", features = [ "derive" ] }
23-
clap_complete = "4.5.6"
24-
clap_complete_nushell = "4.5.2"
22+
clap = { version = "4.5.9", features = [ "derive" ] }
23+
clap_complete = "4.5.8"
2524
clap_complete_fig = "4.5.1"
26-
vergen = { version = "8.3.1", features = [ "build", "git", "gitcl" ] }
25+
clap_complete_nushell = "4.5.2"
26+
vergen-gitcl = { version = "1.0.0", features = [ "build" ] }

yazi-boot/build.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,13 @@ use std::{env, error::Error};
55

66
use clap::CommandFactory;
77
use clap_complete::{generate_to, Shell};
8-
use vergen::EmitBuilder;
8+
use vergen_gitcl::{BuildBuilder, Emitter, GitclBuilder};
99

1010
fn main() -> Result<(), Box<dyn Error>> {
11-
EmitBuilder::builder().build_date().git_sha(true).emit()?;
11+
Emitter::default()
12+
.add_instructions(&BuildBuilder::default().build_date(true).build()?)?
13+
.add_instructions(&GitclBuilder::default().commit_date(true).sha(true).build()?)?
14+
.emit()?;
1215

1316
if env::var_os("YAZI_GEN_COMPLETIONS").is_none() {
1417
return Ok(());

yazi-cli/Cargo.toml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,21 @@ yazi-shared = { path = "../yazi-shared", version = "0.2.5" }
1414

1515
# External dependencies
1616
anyhow = "1.0.86"
17-
clap = { version = "4.5.7", features = [ "derive" ] }
17+
clap = { version = "4.5.9", features = [ "derive" ] }
1818
crossterm = "0.27.0"
1919
md-5 = "0.10.6"
20-
serde_json = "1.0.117"
20+
serde_json = "1.0.120"
2121
tokio = { version = "1.38.0", features = [ "full" ] }
22-
toml_edit = "0.22.14"
22+
toml_edit = "0.22.15"
2323

2424
[build-dependencies]
2525
anyhow = "1.0.86"
26-
clap = { version = "4.5.7", features = [ "derive" ] }
27-
clap_complete = "4.5.6"
26+
clap = { version = "4.5.9", features = [ "derive" ] }
27+
clap_complete = "4.5.8"
2828
clap_complete_fig = "4.5.1"
2929
clap_complete_nushell = "4.5.2"
30-
serde_json = "1.0.117"
31-
vergen = { version = "8.3.1", features = [ "build", "git", "gitcl" ] }
30+
serde_json = "1.0.120"
31+
vergen-gitcl = { version = "1.0.0", features = [ "build" ] }
3232

3333
[[bin]]
3434
name = "ya"

yazi-cli/build.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,13 @@ use std::{env, error::Error};
55

66
use clap::CommandFactory;
77
use clap_complete::{generate_to, Shell};
8-
use vergen::EmitBuilder;
8+
use vergen_gitcl::{BuildBuilder, Emitter, GitclBuilder};
99

1010
fn main() -> Result<(), Box<dyn Error>> {
11-
EmitBuilder::builder().build_date().git_sha(true).emit()?;
11+
Emitter::default()
12+
.add_instructions(&BuildBuilder::default().build_date(true).build()?)?
13+
.add_instructions(&GitclBuilder::default().commit_date(true).sha(true).build()?)?
14+
.emit()?;
1215

1316
if env::var_os("YAZI_GEN_COMPLETIONS").is_none() {
1417
return Ok(());

yazi-config/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ yazi-shared = { path = "../yazi-shared", version = "0.2.5" }
1414
# External dependencies
1515
anyhow = "1.0.86"
1616
arc-swap = "1.7.1"
17-
bitflags = "2.5.0"
17+
bitflags = "2.6.0"
1818
crossterm = "0.27.0"
1919
globset = "0.4.14"
2020
indexmap = "2.2.6"
2121
ratatui = "0.27.0"
22-
serde = { version = "1.0.203", features = [ "derive" ] }
22+
serde = { version = "1.0.204", features = [ "derive" ] }
2323
toml = { version = "0.8.14", features = [ "preserve_order" ] }
2424
validator = { version = "0.18.1", features = [ "derive" ] }

yazi-config/preset/theme.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -773,9 +773,9 @@ conds = [
773773
{ if = "sticky", text = "" },
774774

775775
# Fallback
776-
{ if = "dir", text = "" },
777-
{ if = "exec", text = "" },
778-
{ if = "!dir", text = "" },
776+
{ if = "dir", text = "󰉋" },
777+
{ if = "exec", text = "" },
778+
{ if = "!dir", text = "󰈔" },
779779
]
780780

781781
# : }}}

yazi-config/preset/yazi.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ previewers = [
122122
]
123123

124124
[input]
125-
cursor_blink = true
125+
cursor_blink = false
126126

127127
# cd
128128
cd_title = "Change directory:"

yazi-config/src/layout.rs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,7 @@
11
use ratatui::layout::Rect;
22

3-
#[derive(Default)]
3+
#[derive(Clone, Copy, Default)]
44
pub struct Layout {
5-
pub header: Rect,
6-
7-
pub parent: Rect,
85
pub current: Rect,
96
pub preview: Rect,
10-
11-
pub status: Rect,
127
}

yazi-config/src/lib.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,20 @@ pub fn init() -> anyhow::Result<()> {
6161
// TODO: Remove in v0.3.2
6262
for c in &KEYMAP.manager {
6363
for r in &c.run {
64-
if r.name == "shell" && !r.bool("confirm") && !r.bool("interactive") {
64+
if r.name != "shell" {
65+
continue;
66+
}
67+
if !r.bool("confirm") && !r.bool("interactive") {
6568
eprintln!(
6669
r#"WARNING: In Yazi v0.3, the behavior of the interactive `shell` (i.e., shell templates) must be explicitly specified with `--interactive`.
6770
6871
Please replace e.g. `shell` with `shell --interactive`, `shell "my-template"` with `shell "my-template" --interactive`, in your keymap.toml"#
6972
);
7073
return Ok(());
74+
} else if r.bool("confirm") && r.bool("interactive") {
75+
eprintln!(
76+
"The `shell` command cannot specify both `--confirm` and `--interactive` at the same time.",
77+
);
7178
}
7279
}
7380
}

0 commit comments

Comments
 (0)