diff options
author | Norbert Preining <norbert@preining.info> | 2024-03-25 03:03:04 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2024-03-25 03:03:04 +0000 |
commit | 05f8146ef2eea2cd71b9c96583c6d893e6c76af5 (patch) | |
tree | 615019c00dc1d5e6ec2636bbbb30852f241c04ee /support/texlab/crates/diagnostics/src/chktex.rs | |
parent | 1feacf4295bab2d8f05aa0f5fbd1d902559bef36 (diff) |
CTAN sync 202403250302
Diffstat (limited to 'support/texlab/crates/diagnostics/src/chktex.rs')
-rw-r--r-- | support/texlab/crates/diagnostics/src/chktex.rs | 12 |
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(); |