3eea1a9e9a
Major changes: 1) Instead of skipping undesirable scopes, include them and mark them with errors. Constants can be extracted into more scopes. 2) Update the tests to call through the "public" API. This caused some baseline changes. 3) Rename refactoring to "Extract Symbol" for generality. 4) Return a second ApplicableRefactorInfo for constants. Distinguish the two by splitting the action name.
26 lines
574 B
TypeScript
26 lines
574 B
TypeScript
/// <reference path='fourslash.ts' />
|
|
|
|
// New function names should be totally new to the file
|
|
|
|
//// function fn() {
|
|
//// /*a*/console.log("hi");/*b*/
|
|
//// }
|
|
////
|
|
//// function newFunction() { }
|
|
|
|
goTo.select('a', 'b')
|
|
edit.applyRefactor({
|
|
refactorName: "Extract Symbol",
|
|
actionName: "function_scope_0",
|
|
actionDescription: "Extract to inner function in function 'fn'",
|
|
newContent:
|
|
`function fn() {
|
|
/*RENAME*/newFunction_1();
|
|
|
|
function newFunction_1() {
|
|
console.log("hi");
|
|
}
|
|
}
|
|
|
|
function newFunction() { }`
|
|
});
|