Unnamed repository; edit this file 'description' to name the repository.
Use relative glob patterns in DidChangeWatchedFilesRegistrationOptions
Lukas Wirth 2024-03-22
parent 23613a9 · commit fe28e47
-rw-r--r--crates/rust-analyzer/src/reload.rs21
1 files changed, 12 insertions, 9 deletions
diff --git a/crates/rust-analyzer/src/reload.rs b/crates/rust-analyzer/src/reload.rs
index 7c7f5aa5ca..0214be006e 100644
--- a/crates/rust-analyzer/src/reload.rs
+++ b/crates/rust-analyzer/src/reload.rs
@@ -436,16 +436,19 @@ impl GlobalState {
.flat_map(|ws| ws.to_roots())
.filter(|it| it.is_local)
.flat_map(|root| {
- root.include.into_iter().flat_map(|it| {
- [
- format!("{it}/**/*.rs"),
- format!("{it}/**/Cargo.toml"),
- format!("{it}/**/Cargo.lock"),
- ]
- })
+ root.include
+ .into_iter()
+ .flat_map(|it| [(it.clone(), "**/*.rs"), (it, "**/Cargo.{lock,toml}")])
})
- .map(|glob_pattern| lsp_types::FileSystemWatcher {
- glob_pattern: lsp_types::GlobPattern::String(glob_pattern),
+ .map(|(base, pat)| lsp_types::FileSystemWatcher {
+ glob_pattern: lsp_types::GlobPattern::Relative(
+ lsp_types::RelativePattern {
+ base_uri: lsp_types::OneOf::Right(
+ lsp_types::Url::from_file_path(base).unwrap(),
+ ),
+ pattern: pat.to_owned(),
+ },
+ ),
kind: None,
})
.collect(),