From 615b7efcf8412c5a38e00fef1bde5f8e12ad764b Mon Sep 17 00:00:00 2001 From: Jess Frazelle Date: Wed, 29 Jan 2025 10:07:44 -0800 Subject: [PATCH] updates Signed-off-by: Jess Frazelle --- .gitignore | 1 + Cargo.lock | 2 +- Cargo.toml | 2 +- src/cmd_kcl.rs | 20 +++++++++++++------- tests/walkie-talkie.png | Bin 0 -> 68223 bytes 5 files changed, 16 insertions(+), 9 deletions(-) create mode 100644 tests/walkie-talkie.png diff --git a/.gitignore b/.gitignore index c5832f8e..491fbbef 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ gear.png in_obj.png output.png /source.* +a_2x6_mounting_plate.kcl diff --git a/Cargo.lock b/Cargo.lock index c516c6e0..261ab02a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5433,7 +5433,7 @@ dependencies = [ [[package]] name = "zoo" -version = "0.2.94" +version = "0.2.95" dependencies = [ "anyhow", "async-trait", diff --git a/Cargo.toml b/Cargo.toml index 33019f39..c6c53d3a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zoo" -version = "0.2.94" +version = "0.2.95" edition = "2021" build = "build.rs" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/src/cmd_kcl.rs b/src/cmd_kcl.rs index 1296f31f..8dc7f64b 100644 --- a/src/cmd_kcl.rs +++ b/src/cmd_kcl.rs @@ -70,6 +70,7 @@ impl crate::cmd::Command for CmdKcl { #[clap(verbatim_doc_comment)] pub struct CmdKclExport { /// The path to the input kcl file to export. + /// This can also be the path to a directory containing a main.kcl file. /// If you pass `-` as the path, the file will be read from stdin. #[clap(name = "input", required = true)] pub input: std::path::PathBuf, @@ -173,6 +174,7 @@ impl crate::cmd::Command for CmdKclExport { #[clap(verbatim_doc_comment)] pub struct CmdKclFormat { /// The path to the input kcl file to format. + /// This can also be the path to a directory containing a main.kcl file. /// If you pass `-` as the path, the file will be read from stdin. #[clap(name = "input", required = true)] pub input: std::path::PathBuf, @@ -252,6 +254,7 @@ impl crate::cmd::Command for CmdKclFormat { #[clap(verbatim_doc_comment)] pub struct CmdKclSnapshot { /// The path to the input kcl file to snapshot. + /// This can also be the path to a directory containing a main.kcl file. /// If you pass `-` as the path, the file will be read from stdin. #[clap(name = "input", required = true)] pub input: std::path::PathBuf, @@ -313,16 +316,11 @@ impl crate::cmd::Command for CmdKclSnapshot { }; // Get the contents of the input file. - let filename = self - .input - .file_name() - .map(|b| b.to_string_lossy().to_string()) - .unwrap_or("unknown".to_string()); let (code, filepath) = ctx.get_code_and_file_path(&self.input).await?; // Get the modeling settings from the project.toml if exists. let mut executor_settings = get_modeling_settings_from_project_toml(&filepath, self.src_unit.clone())?; - executor_settings.replay = self.replay.then_some(filename); + executor_settings.replay = self.replay.then_some(filepath.to_string_lossy().to_string()); let (output_file_contents, session_data) = match self.session { Some(addr) => { @@ -401,6 +399,7 @@ impl crate::cmd::Command for CmdKclSnapshot { #[clap(verbatim_doc_comment)] pub struct CmdKclView { /// The path to the input kcl file to view. + /// This can also be the path to a directory containing a main.kcl file. /// If you pass `-` as the path, the file will be read from stdin. #[clap(name = "input", required = true)] pub input: std::path::PathBuf, @@ -561,6 +560,7 @@ fn get_output_format( #[clap(verbatim_doc_comment)] pub struct CmdKclVolume { /// The path to the input file. + /// This can also be the path to a directory containing a main.kcl file. /// If you pass `-` as the path, the file will be read from stdin. #[clap(name = "input", required = true)] pub input: std::path::PathBuf, @@ -643,6 +643,7 @@ impl crate::cmd::Command for CmdKclVolume { #[clap(verbatim_doc_comment)] pub struct CmdKclMass { /// The path to the input file. + /// This can also be the path to a directory containing a main.kcl file. /// If you pass `-` as the path, the file will be read from stdin. #[clap(name = "input", required = true)] pub input: std::path::PathBuf, @@ -739,6 +740,7 @@ impl crate::cmd::Command for CmdKclMass { #[clap(verbatim_doc_comment)] pub struct CmdKclCenterOfMass { /// The path to the input file. + /// This can also be the path to a directory containing a main.kcl file. /// If you pass `-` as the path, the file will be read from stdin. #[clap(name = "input", required = true)] pub input: std::path::PathBuf, @@ -821,6 +823,7 @@ impl crate::cmd::Command for CmdKclCenterOfMass { #[clap(verbatim_doc_comment)] pub struct CmdKclDensity { /// The path to the input file. + /// This can also be the path to a directory containing a main.kcl file. /// If you pass `-` as the path, the file will be read from stdin. #[clap(name = "input", required = true)] pub input: std::path::PathBuf, @@ -917,6 +920,7 @@ impl crate::cmd::Command for CmdKclDensity { #[clap(verbatim_doc_comment)] pub struct CmdKclSurfaceArea { /// The path to the input file. + /// This can also be the path to a directory containing a main.kcl file. /// If you pass `-` as the path, the file will be read from stdin. #[clap(name = "input", required = true)] pub input: std::path::PathBuf, @@ -993,6 +997,7 @@ impl crate::cmd::Command for CmdKclSurfaceArea { #[clap(verbatim_doc_comment)] pub struct CmdKclLint { /// The path to the input file. + /// This can also be the path to a directory containing a main.kcl file. /// If you pass `-` as the path, the file will be read from stdin. #[clap(name = "input", required = true)] pub input: std::path::PathBuf, @@ -1130,7 +1135,8 @@ fn get_modeling_settings_from_project_toml( if let Some(project_toml) = project_toml { let project_toml = std::fs::read_to_string(&project_toml)?; let project_toml: kcl_lib::ProjectConfiguration = toml::from_str(&project_toml)?; - let settings: kcl_lib::ExecutorSettings = project_toml.settings.modeling.into(); + let mut settings: kcl_lib::ExecutorSettings = project_toml.settings.modeling.into(); + settings.with_current_file(input.into()); // Make sure if they gave a command line flag, it tells them they don't match. if let Some(src_unit) = src_unit { let units: kittycad::types::UnitLength = settings.units.into(); diff --git a/tests/walkie-talkie.png b/tests/walkie-talkie.png new file mode 100644 index 0000000000000000000000000000000000000000..56b402a2e07d8a57739e4ce7d8b41087e36b2e0b GIT binary patch literal 68223 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 z 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�Y&^{p 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