summaryrefslogtreecommitdiff
path: root/cli/lsp/language_server.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/lsp/language_server.rs')
-rw-r--r--cli/lsp/language_server.rs13
1 files changed, 9 insertions, 4 deletions
diff --git a/cli/lsp/language_server.rs b/cli/lsp/language_server.rs
index 519d1c94f..72beb04bb 100644
--- a/cli/lsp/language_server.rs
+++ b/cli/lsp/language_server.rs
@@ -59,6 +59,7 @@ use super::tsc::Assets;
use super::tsc::AssetsSnapshot;
use super::tsc::TsServer;
use super::urls;
+use super::urls::LspClientUrl;
use crate::args::get_root_cert_store;
use crate::args::package_json;
use crate::args::resolve_import_map_from_specifier;
@@ -338,7 +339,10 @@ impl LanguageServer {
match &ls.config.workspace_folders {
Some(entry) => {
for (specifier, folder) in entry {
- specifiers.insert(specifier.clone(), folder.uri.clone());
+ specifiers.insert(
+ specifier.clone(),
+ LspClientUrl::new(folder.uri.clone()),
+ );
}
}
None => {
@@ -2868,9 +2872,10 @@ impl tower_lsp::LanguageServer for LanguageServer {
let (client, client_uri, specifier, had_specifier_settings) = {
let mut inner = self.0.write().await;
let client = inner.client.clone();
- let client_uri = params.text_document.uri.clone();
- let specifier =
- inner.url_map.normalize_url(&client_uri, LspUrlKind::File);
+ let client_uri = LspClientUrl::new(params.text_document.uri.clone());
+ let specifier = inner
+ .url_map
+ .normalize_url(client_uri.as_url(), LspUrlKind::File);
let document = inner.did_open(&specifier, params).await;
let has_specifier_settings =
inner.config.has_specifier_settings(&specifier);