* 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
31 lines
690 B
TypeScript
31 lines
690 B
TypeScript
/// <reference path="fourslash.ts" />
|
|
|
|
//// /*1*/f // call expression
|
|
//// (arg)(
|
|
//// /** @type {number} */
|
|
//// blah, /* another param */ blah // TODO: name variable not 'blah'
|
|
////
|
|
//// );/*2*/
|
|
|
|
goTo.select("1", "2");
|
|
|
|
// Note: the loss of `// TODO: name variable not 'blah'`
|
|
// is not desirable, but not related to this test.
|
|
edit.applyRefactor({
|
|
refactorName: "Extract Symbol",
|
|
actionName: "function_scope_0",
|
|
actionDescription: "Extract to function in global scope",
|
|
newContent:
|
|
`/*RENAME*/newFunction();
|
|
|
|
function newFunction() {
|
|
f // call expression
|
|
(arg)(
|
|
/** @type {number} */
|
|
blah, /* another param */ blah
|
|
|
|
);
|
|
}
|
|
`
|
|
});
|