TypeScript/tests/cases/fourslash/textChangesPreserveNewlines7.ts
Andrew Branch 237ea526f9
Preserve newlines from original source when printing nodes from TextChanges (#36688)
* Allow emitter to write multiple newlines in node lists

* Progress

* Progress

* Fix recomputeIndentation

* Add tests, fix leading line terminator count

* Do a bit less work when `preserveNewlines` is off

* Fix accidental find/replace rename

* Restore some monomorphism

* Fix single line writer

* Fix other writers

* Revert "Fix other writers"

This reverts commit 21b0cb8f3b.

* Revert "Fix single line writer"

This reverts commit e535e279f9.

* Revert "Restore some monomorphism"

This reverts commit e3ef42743a.

* Add equal position optimization to getLinesBetweenRangeEndAndRangeStart

* Add one more test

* Actually save the test file

* Rename preserveNewlines to preserveSourceNewlines

* Make ignoreSourceNewlines internal

* Optimize lines-between functions

* Add comment;

* Fix trailing line terminator count bug for function parameters

* Preserve newlines around parenthesized expressions

* Back to speculative microoptimizations, yay

* Don’t call getEffectiveLines during tsc emit at all
2020-03-19 09:46:00 -07:00

45 lines
1 KiB
TypeScript

/// <reference path="fourslash.ts" />
// @Filename: /index.tsx
////[|function Foo({ label }: { label: string }) {
//// return (
//// <div
//// id="time-label-top-container">
//// <div
//// id="time-label-container"
//// style={{
//// marginRight: '10px',
//// border: 'none',
//// }}
//// >
//// <div className="currentTimeLabel">{label}</div>
//// </div>
//// </div>
//// );
////}|]
verify.moveToNewFile({
newFileContents: {
"/index.tsx": "",
"/Foo.tsx":
`function Foo({ label }: { label: string; }) {
return (
<div
id="time-label-top-container">
<div
id="time-label-container"
style={{
marginRight: '10px',
border: 'none',
}}
>
<div className="currentTimeLabel">{label}</div>
</div>
</div>
);
}
`
}
});