nushell on your web browser
nushell wasm terminal

add build timestamp and rustc version to version cmd

ptr.pet 6b30d5fb 429dc853

verified
Changed files
+29 -7
src
+15
Cargo.lock
··· 708 708 checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" 709 709 710 710 [[package]] 711 + name = "compile-time" 712 + version = "0.2.0" 713 + source = "registry+https://github.com/rust-lang/crates.io-index" 714 + checksum = "e55ede5279d4d7c528906853743abeb26353ae1e6c440fcd6d18316c2c2dd903" 715 + dependencies = [ 716 + "once_cell", 717 + "proc-macro2", 718 + "quote", 719 + "rustc_version", 720 + "semver", 721 + "time", 722 + ] 723 + 724 + [[package]] 711 725 name = "compression-codecs" 712 726 version = "0.4.35" 713 727 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1372 1386 "ansi_term", 1373 1387 "anyhow", 1374 1388 "async-lock", 1389 + "compile-time", 1375 1390 "console_error_panic_hook", 1376 1391 "futures", 1377 1392 "getrandom 0.3.4",
+1
Cargo.toml
··· 38 38 scc = "3" 39 39 rapidhash = { version = "4", features = ["unsafe"] } 40 40 async-lock = "3.4.1" 41 + compile-time = "0.2.0" 41 42 42 43 [patch.crates-io] 43 44 vfs = { git = "https://github.com/landaire/rust-vfs", branch = "fix/wasm" }
+7 -6
src/cmd/mv.rs
··· 68 68 .map_err(to_shell_err(call.arguments_span()))?; 69 69 70 70 // Check that source exists 71 - let meta = source.metadata().map_err(to_shell_err(call.arguments_span()))?; 71 + let meta = source 72 + .metadata() 73 + .map_err(to_shell_err(call.arguments_span()))?; 72 74 73 75 match meta.file_type { 74 76 VfsFileType::File => move_file(&source, &dest, call.arguments_span())?, ··· 85 87 span: nu_protocol::Span, 86 88 ) -> Result<(), ShellError> { 87 89 // Read source file content 88 - let mut source_file = source 89 - .open_file() 90 - .map_err(to_shell_err(span))?; 90 + let mut source_file = source.open_file().map_err(to_shell_err(span))?; 91 91 92 92 let mut contents = Vec::new(); 93 93 source_file ··· 127 127 // Recursively move all entries 128 128 let entries = source.read_dir().map_err(to_shell_err(span))?; 129 129 for entry_name in entries { 130 - let source_entry = source.join(entry_name.as_str()).map_err(to_shell_err(span))?; 130 + let source_entry = source 131 + .join(entry_name.as_str()) 132 + .map_err(to_shell_err(span))?; 131 133 let dest_entry = dest.join(entry_name.as_str()).map_err(to_shell_err(span))?; 132 134 133 135 let entry_meta = source_entry.metadata().map_err(to_shell_err(span))?; ··· 142 144 143 145 Ok(()) 144 146 } 145 -
+6 -1
src/cmd/version.rs
··· 30 30 call: &Call, 31 31 _input: PipelineData, 32 32 ) -> Result<PipelineData, ShellError> { 33 - Ok(Value::string("dysnomia.v099.t1765660500", call.head).into_pipeline_data()) 33 + let date = compile_time::unix!(); 34 + let rustc = compile_time::rustc_version_str!(); 35 + Ok( 36 + Value::string(format!("dysnomia.v099.t{date} (rustc {rustc})"), call.head) 37 + .into_pipeline_data(), 38 + ) 34 39 } 35 40 }