summaryrefslogtreecommitdiff
path: root/cli/lsp/language_server.rs
diff options
context:
space:
mode:
authorigorsaux <55196698+igorsaux@users.noreply.github.com>2021-11-23 20:32:40 +0300
committerGitHub <noreply@github.com>2021-11-23 12:32:40 -0500
commit3f8c3b856809de5682b47845976869bcf4067293 (patch)
tree3df0bc058b0ac8b5531ddad75852693749c69ffa /cli/lsp/language_server.rs
parentbedb2adfb065c1b0d3bcb773fbeff91230402b6b (diff)
fix(lsp): normalize urls in did_change_watched_files (#12873)
Diffstat (limited to 'cli/lsp/language_server.rs')
-rw-r--r--cli/lsp/language_server.rs10
1 files changed, 8 insertions, 2 deletions
diff --git a/cli/lsp/language_server.rs b/cli/lsp/language_server.rs
index e13215efb..a2faf8a83 100644
--- a/cli/lsp/language_server.rs
+++ b/cli/lsp/language_server.rs
@@ -930,9 +930,15 @@ impl Inner {
.performance
.mark("did_change_watched_files", Some(&params));
let mut touched = false;
+ let changes: Vec<Url> = params
+ .changes
+ .iter()
+ .map(|f| self.url_map.normalize_url(&f.uri))
+ .collect();
+
// if the current import map has changed, we need to reload it
if let Some(import_map_uri) = &self.maybe_import_map_uri {
- if params.changes.iter().any(|fe| *import_map_uri == fe.uri) {
+ if changes.iter().any(|uri| import_map_uri == uri) {
if let Err(err) = self.update_import_map().await {
self.client.show_message(MessageType::Warning, err).await;
}
@@ -941,7 +947,7 @@ impl Inner {
}
// if the current tsconfig has changed, we need to reload it
if let Some(config_uri) = &self.maybe_config_uri {
- if params.changes.iter().any(|fe| *config_uri == fe.uri) {
+ if changes.iter().any(|uri| config_uri == uri) {
if let Err(err) = self.update_config_file() {
self.client.show_message(MessageType::Warning, err).await;
}