summaryrefslogtreecommitdiff
path: root/support/texlab/crates/diagnostics/src/chktex.rs
diff options
context:
space:
mode:
Diffstat (limited to 'support/texlab/crates/diagnostics/src/chktex.rs')
-rw-r--r--support/texlab/crates/diagnostics/src/chktex.rs12
1 files changed, 8 insertions, 4 deletions
diff --git a/support/texlab/crates/diagnostics/src/chktex.rs b/support/texlab/crates/diagnostics/src/chktex.rs
index a342f78349..195ea968e5 100644
--- a/support/texlab/crates/diagnostics/src/chktex.rs
+++ b/support/texlab/crates/diagnostics/src/chktex.rs
@@ -4,7 +4,10 @@ use std::{
process::Stdio,
};
-use base_db::{Document, Workspace};
+use base_db::{
+ deps::{self, ProjectRoot},
+ Document, Workspace,
+};
use encoding_rs_io::DecodeReaderBytesBuilder;
use line_index::LineCol;
use once_cell::sync::Lazy;
@@ -23,8 +26,7 @@ impl Command {
pub fn new(workspace: &Workspace, document: &Document) -> Option<Self> {
document.data.as_tex()?;
- let parent = workspace
- .parents(document)
+ let parent = deps::parents(workspace, document)
.into_iter()
.next()
.unwrap_or(document);
@@ -34,7 +36,9 @@ impl Command {
return None;
}
- let working_dir = workspace.current_dir(&parent.dir).to_file_path().ok()?;
+ let root = ProjectRoot::walk_and_find(workspace, &parent.dir);
+
+ let working_dir = root.src_dir.to_file_path().ok()?;
log::debug!("Calling ChkTeX from directory: {}", working_dir.display());
let text = document.text.clone();