Skip to content

Commit fc6640d

Browse files
committed
[html] editor.action.formatDocument removes <script> property. Fixes microsoft#36574
1 parent 5e7bb87 commit fc6640d

2 files changed

Lines changed: 5 additions & 1 deletion

File tree

extensions/html/server/src/modes/javascriptMode.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ export function getJavascriptMode(documentRegions: LanguageModelCache<HTMLDocume
253253
let start = currentTextDocument.offsetAt(range.start);
254254
let end = currentTextDocument.offsetAt(range.end);
255255
let lastLineRange = null;
256-
if (range.end.character === 0 || isWhitespaceOnly(currentTextDocument.getText().substr(end - range.end.character, range.end.character))) {
256+
if (range.end.line > range.start.line && (range.end.character === 0 || isWhitespaceOnly(currentTextDocument.getText().substr(end - range.end.character, range.end.character)))) {
257257
end -= range.end.character;
258258
lastLineRange = Range.create(Position.create(range.end.line, 0), range.end);
259259
}

extensions/html/server/src/test/formatting.test.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,10 @@ suite('HTML Embedded Formatting', () => {
107107
assertFormat('<html><head>\n |<script>\nvar x=6;\n</script>\n|</head></html>', '<html><head>\n <script>\n var x = 6;\n </script>\n</head></html>');
108108
});
109109

110+
test('bug 36574', function (): any {
111+
assertFormat('<script src="/js/main.js"> </script>', '<script src="/js/main.js"> </script>');
112+
});
113+
110114
});
111115

112116
function applyEdits(document: TextDocument, edits: TextEdit[]): string {

0 commit comments

Comments
 (0)