From 984a775f8920729a66ab26fd007ae2752dcf18b8 Mon Sep 17 00:00:00 2001
From: Nayeem Rahman <nayeemrmn99@gmail.com>
Date: Wed, 22 Jan 2025 17:21:58 +0000
Subject: [PATCH] fix(lsp): silence debug error for 'move to a new file' action
 (#27780)

---
 cli/lsp/language_server.rs | 41 ++++++++++++++++++++++++++------------
 1 file changed, 28 insertions(+), 13 deletions(-)

diff --git a/cli/lsp/language_server.rs b/cli/lsp/language_server.rs
index d14f0e9246..8bb77681a2 100644
--- a/cli/lsp/language_server.rs
+++ b/cli/lsp/language_server.rs
@@ -1884,7 +1884,7 @@ impl Inner {
         })?;
       let asset_or_doc = self.get_asset_or_document(&action_data.specifier)?;
       let line_index = asset_or_doc.line_index();
-      let mut refactor_edit_info = self
+      let refactor_edit_info = self
         .ts_server
         .get_edits_for_refactor(
           self.snapshot(),
@@ -1905,19 +1905,34 @@ impl Inner {
           )),
           asset_or_doc.scope().cloned(),
         )
-        .await?;
-      if kind_suffix == ".rewrite.function.returnType"
-        || kind_suffix == ".move.newFile"
-      {
-        refactor_edit_info.edits =
-          fix_ts_import_changes(&refactor_edit_info.edits, self).map_err(
-            |err| {
-              error!("Unable to remap changes: {:#}", err);
-              LspError::internal_error()
-            },
-          )?
+        .await;
+
+      match refactor_edit_info {
+        Ok(mut refactor_edit_info) => {
+          if kind_suffix == ".rewrite.function.returnType"
+            || kind_suffix == ".move.newFile"
+          {
+            refactor_edit_info.edits =
+              fix_ts_import_changes(&refactor_edit_info.edits, self).map_err(
+                |err| {
+                  error!("Unable to remap changes: {:#}", err);
+                  LspError::internal_error()
+                },
+              )?
+          }
+          code_action.edit = refactor_edit_info.to_workspace_edit(self)?;
+        }
+        Err(err) => {
+          // TODO(nayeemrmn): Investigate cause for
+          // https://github.com/denoland/deno/issues/27778. Prevent popups for
+          // this error for now.
+          if kind_suffix == ".move.newFile" {
+            lsp_warn!("{:#}", err);
+          } else {
+            return Err(err);
+          }
+        }
       }
-      code_action.edit = refactor_edit_info.to_workspace_edit(self)?;
       code_action
     } else {
       // The code action doesn't need to be resolved