[html] files.insertFinalNewline affects embedded styles (#179118)

This commit is contained in:
Martin Aeschlimann
2023-04-04 12:55:17 +02:00
committed by GitHub
parent f481836a89
commit 92b87b0fd5
3 changed files with 8 additions and 6 deletions

View File

@@ -54,7 +54,11 @@ export async function format(languageModes: LanguageModes, document: TextDocumen
// perform a html format and apply changes to a new document
const htmlMode = languageModes.getMode('html')!;
const htmlEdits = await htmlMode.format!(document, formatRange, formattingOptions, settings);
const htmlFormattedContent = TextDocument.applyEdits(document, htmlEdits);
let htmlFormattedContent = TextDocument.applyEdits(document, htmlEdits);
if (formattingOptions.insertFinalNewline && endOffset === content.length && !htmlFormattedContent.endsWith('\n')) {
htmlFormattedContent = htmlFormattedContent + '\n';
htmlEdits.push(TextEdit.insert(endPos, '\n'));
}
const newDocument = TextDocument.create(document.uri + '.tmp', document.languageId, document.version, htmlFormattedContent);
try {
// run embedded formatters on html formatted content: - formatters see correct initial indent