Skip to content

Commit

Permalink
internal: More console buffer improvements. (#1306)
Browse files Browse the repository at this point in the history
* Update console.

* Update init.

* Use mem.

* Use an atomic bool.

* Rework format checks.
  • Loading branch information
milesj committed Feb 7, 2024
1 parent 58e3280 commit 937b460
Show file tree
Hide file tree
Showing 8 changed files with 85 additions and 95 deletions.
15 changes: 6 additions & 9 deletions crates/cli/src/commands/init/bun.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ use moon_config::load_toolchain_bun_config_template;
use moon_console::Console;
use starbase::AppResult;
use starbase_styles::color;
use std::io::Write;
use std::path::Path;
use tera::{Context, Tera};

Expand All @@ -25,29 +24,27 @@ pub async fn init_bun(
console.out.print_header("Bun")?;

console.out.write_raw(|buffer| {
buffer.write_all(
buffer.extend_from_slice(
format!(
"Toolchain: {}\n",
color::url("https://moonrepo.dev/docs/concepts/toolchain")
)
.as_bytes(),
)?;
buffer.write_all(
);
buffer.extend_from_slice(
format!(
"Handbook: {}\n",
color::url("https://moonrepo.dev/docs/guides/javascript/bun-handbook")
)
.as_bytes(),
)?;
buffer.write_all(
);
buffer.extend_from_slice(
format!(
"Config: {}\n\n",
color::url("https://moonrepo.dev/docs/config/toolchain#bun")
)
.as_bytes(),
)?;

Ok(())
);
})?;
}

Expand Down
15 changes: 6 additions & 9 deletions crates/cli/src/commands/init/node.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ use moon_node_lang::package_json::PackageJson;
use starbase::AppResult;
use starbase_styles::color;
use starbase_utils::fs;
use std::io::Write;
use std::path::Path;
use tera::{Context, Tera};

Expand Down Expand Up @@ -118,29 +117,27 @@ pub async fn init_node(
console.out.print_header("Node")?;

console.out.write_raw(|buffer| {
buffer.write_all(
buffer.extend_from_slice(
format!(
"Toolchain: {}\n",
color::url("https://moonrepo.dev/docs/concepts/toolchain")
)
.as_bytes(),
)?;
buffer.write_all(
);
buffer.extend_from_slice(
format!(
"Handbook: {}\n",
color::url("https://moonrepo.dev/docs/guides/javascript/node-handbook")
)
.as_bytes(),
)?;
buffer.write_all(
);
buffer.extend_from_slice(
format!(
"Config: {}\n\n",
color::url("https://moonrepo.dev/docs/config/toolchain#node")
)
.as_bytes(),
)?;

Ok(())
);
})?;
}

Expand Down
15 changes: 6 additions & 9 deletions crates/cli/src/commands/init/rust.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ use moon_console::Console;
use moon_rust_lang::toolchain_toml::ToolchainTomlCache;
use starbase::AppResult;
use starbase_styles::color;
use std::io::Write;
use std::path::Path;
use tera::{Context, Tera};

Expand Down Expand Up @@ -46,29 +45,27 @@ pub async fn init_rust(
console.out.print_header("Rust")?;

console.out.write_raw(|buffer| {
buffer.write_all(
buffer.extend_from_slice(
format!(
"Toolchain: {}\n",
color::url("https://moonrepo.dev/docs/concepts/toolchain")
)
.as_bytes(),
)?;
buffer.write_all(
);
buffer.extend_from_slice(
format!(
"Handbook: {}\n",
color::url("https://moonrepo.dev/docs/guides/rust/handbook")
)
.as_bytes(),
)?;
buffer.write_all(
);
buffer.extend_from_slice(
format!(
"Config: {}\n\n",
color::url("https://moonrepo.dev/docs/config/toolchain#rust")
)
.as_bytes(),
)?;

Ok(())
);
})?;
}

Expand Down
15 changes: 6 additions & 9 deletions crates/cli/src/commands/init/typescript.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ use moon_console::Console;
use moon_typescript_lang::TsConfigJson;
use starbase::AppResult;
use starbase_styles::color;
use std::io::Write;
use std::path::Path;
use tera::{Context, Tera};

Expand All @@ -25,31 +24,29 @@ pub async fn init_typescript(
console.out.print_header("TypeScript")?;

console.out.write_raw(|buffer| {
buffer.write_all(
buffer.extend_from_slice(
format!(
"Toolchain: {}\n",
color::url("https://moonrepo.dev/docs/concepts/toolchain")
)
.as_bytes(),
)?;
buffer.write_all(
);
buffer.extend_from_slice(
format!(
"Handbook: {}\n",
color::url(
"https://moonrepo.dev/docs/guides/javascript/typescript-project-refs"
)
)
.as_bytes(),
)?;
buffer.write_all(
);
buffer.extend_from_slice(
format!(
"Config: {}\n\n",
color::url("https://moonrepo.dev/docs/config/toolchain#typescript")
)
.as_bytes(),
)?;

Ok(())
);
})?;
}

Expand Down
4 changes: 2 additions & 2 deletions crates/cli/src/systems/execute.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use moon_api::Launchpad;
use moon_app_components::{AppConsole, MoonEnv};
use moon_common::{color, is_test_env, is_unformatted_stdout};
use moon_common::{color, is_formatted_output, is_test_env};
use moon_console::Checkpoint;
use moon_workspace::Workspace;
use starbase::system;
Expand All @@ -12,7 +12,7 @@ pub async fn check_for_new_version(
workspace: ResourceRef<Workspace>,
console: ResourceRef<AppConsole>,
) {
if is_test_env() || !is_unformatted_stdout() || !moon::is_telemetry_enabled() {
if is_test_env() || is_formatted_output() || !moon::is_telemetry_enabled() {
return Ok(());
}

Expand Down
4 changes: 2 additions & 2 deletions nextgen/common/src/env.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,6 @@ pub fn is_test_env() -> bool {
}

#[inline]
pub fn is_unformatted_stdout() -> bool {
!env::args().any(|arg| arg == "--json" || arg == "--dot")
pub fn is_formatted_output() -> bool {
env::args().any(|arg| arg == "--json" || arg == "--dot")
}
Loading

0 comments on commit 937b460

Please sign in to comment.