diff --git a/extensions/html-language-features/server/src/htmlServer.ts b/extensions/html-language-features/server/src/htmlServer.ts index 7b76a857738..f1aeebb34d2 100644 --- a/extensions/html-language-features/server/src/htmlServer.ts +++ b/extensions/html-language-features/server/src/htmlServer.ts @@ -501,9 +501,10 @@ export function startServer(connection: Connection, runtime: RuntimeEnvironment) const position: Position = params.position; if (document) { - const htmlMode = languageModes.getMode('html'); - if (htmlMode && htmlMode.doRename) { - return htmlMode.doRename(document, position, params.newName); + const mode = languageModes.getModeAtPosition(document, params.position); + + if (mode && mode.doRename) { + return mode.doRename(document, position, params.newName); } } return null; diff --git a/extensions/html-language-features/server/src/modes/javascriptMode.ts b/extensions/html-language-features/server/src/modes/javascriptMode.ts index 1fc33faedec..9d19b8e5606 100644 --- a/extensions/html-language-features/server/src/modes/javascriptMode.ts +++ b/extensions/html-language-features/server/src/modes/javascriptMode.ts @@ -188,6 +188,23 @@ export function getJavaScriptMode(documentRegions: LanguageModelCache { + edits.push({ + range: convertRange(jsDocument, renameInfo.textSpan), + newText: newName, + }); + }); + + return { + changes: { [document.uri]: edits }, + }; + }, async findDocumentHighlight(document: TextDocument, position: Position): Promise { const jsDocument = jsDocuments.get(document); const jsLanguageService = await host.getLanguageService(jsDocument);