Insert a line break before a function at EOF if needed

This is a pre-existing issue that became more obvious after refining
trivia handling.
This commit is contained in:
Andrew Casey
2017-10-12 11:37:31 -07:00
parent 98f04e6cfd
commit 2ea4cfe23b
71 changed files with 74 additions and 2 deletions

View File

@@ -4526,7 +4526,7 @@ namespace ts.projectSystem {
{
start: { line: 3, offset: 2 },
end: { line: 3, offset: 2 },
newText: "\nfunction newFunction() {\n 1;\n}\n",
newText: "\n\nfunction newFunction() {\n 1;\n}\n",
},
]
}

View File

@@ -785,7 +785,10 @@ namespace ts.refactor.extractSymbol {
changeTracker.insertNodeBefore(context.file, nodeToInsertBefore, newFunction, { suffix: context.newLineCharacter + context.newLineCharacter });
}
else {
changeTracker.insertNodeBefore(context.file, scope.getLastToken(), newFunction, { prefix: context.newLineCharacter, suffix: context.newLineCharacter });
changeTracker.insertNodeBefore(context.file, scope.getLastToken(), newFunction, {
prefix: isLineBreak(file.text.charCodeAt(scope.getLastToken().pos)) ? context.newLineCharacter : context.newLineCharacter + context.newLineCharacter,
suffix: context.newLineCharacter
});
}
const newNodes: Node[] = [];