Merge pull request #18625 from Microsoft/fix-getAdjustedStartPosition-on-first-line

Fix get adjusted start position on first line
This commit is contained in:
Nathan Shively-Sanders 2017-09-21 10:08:30 -07:00 committed by GitHub
commit 36cdbb2857
3 changed files with 9 additions and 5 deletions

View File

@ -152,7 +152,9 @@ namespace ts.textChanges {
return position === Position.Start ? start : fullStart;
}
// get start position of the line following the line that contains fullstart position
let adjustedStartPosition = getStartPositionOfLine(getLineOfLocalPosition(sourceFile, fullStartLine) + 1, sourceFile);
// (but only if the fullstart isn't the very beginning of the file)
const nextLineStart = fullStart > 0 ? 1 : 0;
let adjustedStartPosition = getStartPositionOfLine(getLineOfLocalPosition(sourceFile, fullStartLine) + nextLineStart, sourceFile);
// skip whitespaces/newlines
adjustedStartPosition = skipWhitespacesAndLineBreaks(sourceFile.text, adjustedStartPosition);
return getStartPositionOfLine(getLineOfLocalPosition(sourceFile, adjustedStartPosition), sourceFile);

View File

@ -3,14 +3,15 @@
////// newFunction
/////*start*/1 + 1/*end*/;
// NOTE: '// newFunction' should be included, but due to incorrect handling of trivia,
// it's omitted right now.
goTo.select('start', 'end')
edit.applyRefactor({
refactorName: "Extract Method",
actionName: "scope_0",
actionDescription: "Extract to function in global scope",
newContent:
`// newFunction
/*RENAME*/newFunction_1();
`/*RENAME*/newFunction_1();
function newFunction_1() {
// newFunction

View File

@ -12,9 +12,10 @@
//// }
verify.applicableRefactorAvailableAtMarker('1');
// NOTE: '// Comment' should be included, but due to incorrect handling of trivia,
// it's omitted right now.
verify.fileAfterApplyingRefactorAtMarker('1',
`// Comment
class fn {
`class fn {
constructor() {
this.baz = 10;
}