Skip to content

Commit e4514a8

Browse files
committed
Fix compile warning (#215)
1 parent 4bd2f29 commit e4514a8

File tree

2 files changed

+30
-34
lines changed

2 files changed

+30
-34
lines changed

Diff for: src/plumbing/main.rs

+29-7
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,32 @@ use gitoxide_core::pack::verify;
1515
use crate::plumbing::options::{Args, Subcommands};
1616
use crate::shared::pretty::prepare_and_run;
1717

18+
#[cfg(feature = "gitoxide-core-async-client")]
19+
pub mod async_util {
20+
use crate::shared::ProgressRange;
21+
22+
#[cfg(not(feature = "prodash-render-line"))]
23+
compile_error!("BUG: Need at least a line renderer in async mode");
24+
25+
pub fn prepare(
26+
verbose: bool,
27+
name: &str,
28+
range: impl Into<Option<ProgressRange>>,
29+
) -> (Option<prodash::render::line::JoinHandle>, Option<prodash::tree::Item>) {
30+
use crate::shared::{self, STANDARD_RANGE};
31+
crate::shared::init_env_logger(false);
32+
33+
if verbose {
34+
let progress = crate::shared::progress_tree();
35+
let sub_progress = progress.add_child(name);
36+
let ui_handle = shared::setup_line_renderer_range(progress, range.into().unwrap_or(STANDARD_RANGE));
37+
(Some(ui_handle), Some(sub_progress))
38+
} else {
39+
(None, None)
40+
}
41+
}
42+
}
43+
1844
pub fn main() -> Result<()> {
1945
let args: Args = Args::parse();
2046
let thread_limit = args.threads;
@@ -101,8 +127,7 @@ pub fn main() -> Result<()> {
101127
refs,
102128
refs_directory,
103129
} => {
104-
let (_handle, progress) =
105-
crate::shared::async_util::prepare(verbose, "pack-receive", core::pack::receive::PROGRESS_RANGE);
130+
let (_handle, progress) = async_util::prepare(verbose, "pack-receive", core::pack::receive::PROGRESS_RANGE);
106131
let fut = core::pack::receive(
107132
protocol,
108133
&url,
@@ -151,11 +176,8 @@ pub fn main() -> Result<()> {
151176
),
152177
#[cfg(feature = "gitoxide-core-async-client")]
153178
Subcommands::RemoteRefList { protocol, url } => {
154-
let (_handle, progress) = crate::shared::async_util::prepare(
155-
verbose,
156-
"remote-ref-list",
157-
Some(core::remote::refs::PROGRESS_RANGE),
158-
);
179+
let (_handle, progress) =
180+
async_util::prepare(verbose, "remote-ref-list", Some(core::remote::refs::PROGRESS_RANGE));
159181
let fut = core::remote::refs::list(
160182
protocol,
161183
&url,

Diff for: src/shared.rs

+1-27
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ pub fn init_env_logger(verbose: bool) {
2121
}
2222

2323
#[cfg(feature = "prodash-render-line")]
24-
fn progress_tree() -> prodash::Tree {
24+
pub fn progress_tree() -> prodash::Tree {
2525
prodash::TreeOptions {
2626
message_buffer_capacity: 200,
2727
..Default::default()
@@ -44,32 +44,6 @@ fn progress_tree() -> LogCreator {
4444
LogCreator
4545
}
4646

47-
#[cfg(feature = "gitoxide-core-async-client")]
48-
pub mod async_util {
49-
use crate::shared::ProgressRange;
50-
51-
#[cfg(not(feature = "prodash-render-line"))]
52-
compile_error!("BUG: Need at least a line renderer in async mode");
53-
54-
pub fn prepare(
55-
verbose: bool,
56-
name: &str,
57-
range: impl Into<Option<ProgressRange>>,
58-
) -> (Option<prodash::render::line::JoinHandle>, Option<prodash::tree::Item>) {
59-
use crate::shared::{self, STANDARD_RANGE};
60-
super::init_env_logger(false);
61-
62-
if verbose {
63-
let progress = crate::shared::progress_tree();
64-
let sub_progress = progress.add_child(name);
65-
let ui_handle = shared::setup_line_renderer_range(progress, range.into().unwrap_or(STANDARD_RANGE));
66-
(Some(ui_handle), Some(sub_progress))
67-
} else {
68-
(None, None)
69-
}
70-
}
71-
}
72-
7347
#[cfg(feature = "pretty-cli")]
7448
pub mod pretty {
7549
use std::io::{stderr, stdout};

0 commit comments

Comments
 (0)