* 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 commit21b0cb8f3b
. * Revert "Fix single line writer" This reverts commite535e279f9
. * Revert "Restore some monomorphism" This reverts commite3ef42743a
. * 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
35 lines
680 B
TypeScript
35 lines
680 B
TypeScript
/// <reference path='fourslash.ts' />
|
|
|
|
// @Filename: /a.ts
|
|
////export {}; // make this a module
|
|
////[|const x = 0;
|
|
////function f() {}
|
|
////class C {}
|
|
////enum E {}
|
|
////namespace N { export const x = 0; }
|
|
////type T = number;
|
|
////interface I {}|]
|
|
////x; f; C; E; N;
|
|
////type U = T; type V = I;
|
|
|
|
verify.moveToNewFile({
|
|
newFileContents: {
|
|
"/a.ts":
|
|
`import { x, f, C, E, N, T, I } from "./x";
|
|
|
|
export {}; // make this a module
|
|
x; f; C; E; N;
|
|
type U = T; type V = I;`,
|
|
|
|
"/x.ts":
|
|
`export const x = 0;
|
|
export function f() { }
|
|
export class C { }
|
|
export enum E { }
|
|
export namespace N { export const x = 0; }
|
|
export type T = number;
|
|
export interface I { }
|
|
`,
|
|
},
|
|
});
|