summaryrefslogtreecommitdiff
path: root/support/texlab/crates/commands/src/clean.rs
diff options
context:
space:
mode:
Diffstat (limited to 'support/texlab/crates/commands/src/clean.rs')
-rw-r--r--support/texlab/crates/commands/src/clean.rs18
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(),
];