diff options
Diffstat (limited to 'support/texlab/crates/commands/src/clean.rs')
-rw-r--r-- | support/texlab/crates/commands/src/clean.rs | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/support/texlab/crates/commands/src/clean.rs b/support/texlab/crates/commands/src/clean.rs index d6c3977fb2..562d9c49b6 100644 --- a/support/texlab/crates/commands/src/clean.rs +++ b/support/texlab/crates/commands/src/clean.rs @@ -21,20 +21,26 @@ impl CleanCommand { anyhow::bail!("document '{}' is not a local file", document.uri) }; - let dir = workspace.current_dir(&document.dir); - let dir = workspace - .output_dir(&dir, workspace.config().build.log_dir.clone()) - .to_file_path() - .unwrap(); + let base_dir = workspace.current_dir(&document.dir); let flag = match target { CleanTarget::Auxiliary => "-c", CleanTarget::Artifacts => "-C", }; + let out_dir = match target { + CleanTarget::Auxiliary => &workspace.config().build.aux_dir, + CleanTarget::Artifacts => &workspace.config().build.pdf_dir, + }; + + let out_dir = workspace + .output_dir(&base_dir, out_dir.clone()) + .to_file_path() + .unwrap(); + let executable = String::from("latexmk"); let args = vec![ - format!("-outdir={}", dir.display()), + format!("-outdir={}", out_dir.display()), String::from(flag), path.display().to_string(), ]; |