Escape path and entrypoint in typst init output (#3753)

This commit is contained in:
frozolotl 2024-03-23 12:54:50 +01:00 committed by GitHub
parent bf519162ff
commit a33d8bf322
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 19 additions and 2 deletions

7
Cargo.lock generated
View File

@ -2131,6 +2131,12 @@ dependencies = [
"unsafe-libyaml",
]
[[package]]
name = "shell-escape"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f"
[[package]]
name = "simd-adler32"
version = "0.3.7"
@ -2605,6 +2611,7 @@ dependencies = [
"serde",
"serde_json",
"serde_yaml 0.9.32",
"shell-escape",
"tar",
"tempfile",
"toml",

View File

@ -93,6 +93,7 @@ semver = "1"
serde = { version = "1.0.184", features = ["derive"] }
serde_json = "1"
serde_yaml = "0.9"
shell-escape = "0.1.5"
siphasher = "1"
smallvec = { version = "1.11.1", features = ["union", "const_generics", "const_new"] }
stacker = "0.1.15"

View File

@ -51,6 +51,7 @@ semver = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
serde_yaml = { workspace = true }
shell-escape = { workspace = true }
tar = { workspace = true }
tempfile = { workspace = true }
toml = { workspace = true }

View File

@ -104,11 +104,19 @@ fn print_summary(
out.set_color(&gray)?;
write!(out, "> ")?;
out.reset()?;
writeln!(out, "cd {}", project_dir.display())?;
writeln!(
out,
"cd {}",
shell_escape::escape(project_dir.display().to_string().into()),
)?;
out.set_color(&gray)?;
write!(out, "> ")?;
out.reset()?;
writeln!(out, "typst watch {}", template.entrypoint)?;
writeln!(
out,
"typst watch {}",
shell_escape::escape(template.entrypoint.to_string().into()),
)?;
writeln!(out)?;
Ok(())
}