Merge nucleic/nimble-umber-toad-20h7 into dev

This commit is contained in:
2026-08-11 20:11:26 -07:00
parent 959a80f5ec
commit 8e934d8996
16 changed files with 196 additions and 196 deletions
+3 -3
View File
@@ -14,14 +14,14 @@ brush is distributed under the terms of the MIT license. If you encounter any is
For more information, visit https://brush.sh.";
// nash: rebranded usage/version strings for the Nucleic agent shell fork.
// hydrashell: rebranded usage/version strings for the Nucleic agent shell fork.
const USAGE: &str = color_print::cstr!(
"<bold>nash</bold> <italics>[OPTIONS]</italics>... <italics>[SCRIPT_PATH [SCRIPT_ARGS]...]</italics>"
"<bold>hydrashell</bold> <italics>[OPTIONS]</italics>... <italics>[SCRIPT_PATH [SCRIPT_ARGS]...]</italics>"
);
const VERSION: &str = const_format::concatcp!(
productinfo::PRODUCT_VERSION,
" (Nucleic agent shell, brush fork; ",
" (Hydrangea agent shell, brush fork; ",
productinfo::PRODUCT_GIT_VERSION,
")"
);
+3 -3
View File
@@ -268,11 +268,11 @@ pub fn run() {
std::process::exit(i32::from(exit_code));
}
// nash: a hook invoked right before the process exits, so an embedding shell
// (nash) can flush its observation event buffer (docs/NASH.md §6.1).
// hydrashell: a hook invoked right before the process exits, so an embedding shell
// (hash) can flush its observation event buffer (docs/HYDRASHELL.md §6.1).
static EXIT_HOOK: std::sync::OnceLock<Box<dyn Fn() + Send + Sync>> = std::sync::OnceLock::new();
/// nash: registers a hook run immediately before the shell process exits.
/// hydrashell: registers a hook run immediately before the shell process exits.
/// May be called at most once; later calls are ignored.
pub fn set_exit_hook(hook: Box<dyn Fn() + Send + Sync>) {
let _ = EXIT_HOOK.set(hook);
+4 -4
View File
@@ -1,8 +1,8 @@
//! Information about this shell project.
// nash: rebranded from "brush" for the Nucleic agent shell fork (docs/NASH.md §2).
// hydrashell: rebranded from "brush" for the Nucleic agent shell fork (docs/HYDRASHELL.md §2).
/// The formal name of this product.
pub const PRODUCT_NAME: &str = "nash";
pub const PRODUCT_NAME: &str = "hydrashell";
const PRODUCT_HOMEPAGE: &str = env!("CARGO_PKG_HOMEPAGE");
const PRODUCT_REPO: &str = env!("CARGO_PKG_REPOSITORY");
@@ -27,8 +27,8 @@ pub const PRODUCT_GIT_VERSION: &str = git_version::git_version!(
);
pub(crate) fn get_product_display_str() -> String {
// nash: identify as the Nucleic agent shell fork of brush.
// hydrashell: identify as the Nucleic agent shell fork of brush.
std::format!(
"{PRODUCT_NAME} (Nucleic agent shell, brush fork) {PRODUCT_VERSION} ({PRODUCT_GIT_VERSION}) - {PRODUCT_DISPLAY_URI}"
"{PRODUCT_NAME} (hash — Hydrangea agent shell, brush fork) {PRODUCT_VERSION} ({PRODUCT_GIT_VERSION}) - {PRODUCT_DISPLAY_URI}"
)
}
+3 -3
View File
@@ -219,7 +219,7 @@ cases:
echo "After: [$IFS]"
- name: "IFS does not affect for loop literal words"
# nash: fixed by ExpansionPiece::LiteralText (literal words are not field-split)
# hydrashell: fixed by ExpansionPiece::LiteralText (literal words are not field-split)
stdin: |
IFS=':'
for word in a:b:c; do
@@ -249,7 +249,7 @@ cases:
echo "Quoted: $var"
- name: "IFS with partially quoted expansion"
# nash: fixed by ExpansionPiece::LiteralText (literal words are not field-split)
# hydrashell: fixed by ExpansionPiece::LiteralText (literal words are not field-split)
stdin: |
IFS=':'
var="a:b:c"
@@ -309,7 +309,7 @@ cases:
echo "[$1]"
- name: "IFS with glob pattern literal"
# nash: fixed by ExpansionPiece::LiteralText (literal words are not field-split)
# hydrashell: fixed by ExpansionPiece::LiteralText (literal words are not field-split)
stdin: |
IFS=':'
# Glob patterns as literals shouldn't split