From 6b30d5fb96e868d882d43e28314131f4fcd4bfeb Mon Sep 17 00:00:00 2001 From: dawn <90008@gaze.systems> Date: Thu, 18 Dec 2025 13:44:46 +0300 Subject: [PATCH] add build timestamp and rustc version to version cmd --- Cargo.lock | 15 +++++++++++++++ Cargo.toml | 1 + src/cmd/mv.rs | 13 +++++++------ src/cmd/version.rs | 7 ++++++- 4 files changed, 29 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 135d4e7..3481445 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -707,6 +707,20 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" +[[package]] +name = "compile-time" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e55ede5279d4d7c528906853743abeb26353ae1e6c440fcd6d18316c2c2dd903" +dependencies = [ + "once_cell", + "proc-macro2", + "quote", + "rustc_version", + "semver", + "time", +] + [[package]] name = "compression-codecs" version = "0.4.35" @@ -1372,6 +1386,7 @@ dependencies = [ "ansi_term", "anyhow", "async-lock", + "compile-time", "console_error_panic_hook", "futures", "getrandom 0.3.4", diff --git a/Cargo.toml b/Cargo.toml index 015dbc7..f664bdb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -38,6 +38,7 @@ console_error_panic_hook = "0.1.7" scc = "3" rapidhash = { version = "4", features = ["unsafe"] } async-lock = "3.4.1" +compile-time = "0.2.0" [patch.crates-io] vfs = { git = "https://github.com/landaire/rust-vfs", branch = "fix/wasm" } diff --git a/src/cmd/mv.rs b/src/cmd/mv.rs index 64c5206..d7a8e9f 100644 --- a/src/cmd/mv.rs +++ b/src/cmd/mv.rs @@ -68,7 +68,9 @@ impl Command for Mv { .map_err(to_shell_err(call.arguments_span()))?; // Check that source exists - let meta = source.metadata().map_err(to_shell_err(call.arguments_span()))?; + let meta = source + .metadata() + .map_err(to_shell_err(call.arguments_span()))?; match meta.file_type { VfsFileType::File => move_file(&source, &dest, call.arguments_span())?, @@ -85,9 +87,7 @@ fn move_file( span: nu_protocol::Span, ) -> Result<(), ShellError> { // Read source file content - let mut source_file = source - .open_file() - .map_err(to_shell_err(span))?; + let mut source_file = source.open_file().map_err(to_shell_err(span))?; let mut contents = Vec::new(); source_file @@ -127,7 +127,9 @@ fn move_directory( // Recursively move all entries let entries = source.read_dir().map_err(to_shell_err(span))?; for entry_name in entries { - let source_entry = source.join(entry_name.as_str()).map_err(to_shell_err(span))?; + let source_entry = source + .join(entry_name.as_str()) + .map_err(to_shell_err(span))?; let dest_entry = dest.join(entry_name.as_str()).map_err(to_shell_err(span))?; let entry_meta = source_entry.metadata().map_err(to_shell_err(span))?; @@ -142,4 +144,3 @@ fn move_directory( Ok(()) } - diff --git a/src/cmd/version.rs b/src/cmd/version.rs index 4e8608c..08b82a1 100644 --- a/src/cmd/version.rs +++ b/src/cmd/version.rs @@ -30,6 +30,11 @@ impl Command for Version { call: &Call, _input: PipelineData, ) -> Result { - Ok(Value::string("dysnomia.v099.t1765660500", call.head).into_pipeline_data()) + let date = compile_time::unix!(); + let rustc = compile_time::rustc_version_str!(); + Ok( + Value::string(format!("dysnomia.v099.t{date} (rustc {rustc})"), call.head) + .into_pipeline_data(), + ) } } -- 2.51.2