File tree Expand file tree Collapse file tree 1 file changed +7
-2
lines changed
Extension/src/LanguageServer Expand file tree Collapse file tree 1 file changed +7
-2
lines changed Original file line number Diff line number Diff line change @@ -3774,6 +3774,7 @@ export class DefaultClient implements Client {
37743774 const formatRangeStartLine : number = range . start . line + lineOffset ;
37753775 let rangeStartLine : number = formatRangeStartLine ;
37763776 let rangeStartCharacter : number = 0 ;
3777+ let startWithNewLine : boolean = true ;
37773778 if ( edit . newText . startsWith ( "\r\n\r\n" ) ) {
37783779 rangeStartCharacter = 4 ;
37793780 rangeStartLine += 2 ;
@@ -3786,12 +3787,16 @@ export class DefaultClient implements Client {
37863787 } else if ( edit . newText . startsWith ( "\n" ) ) {
37873788 rangeStartCharacter = 1 ;
37883789 rangeStartLine += 1 ;
3790+ } else {
3791+ startWithNewLine = false ;
37893792 }
37903793 const newFormatRange : vscode . Range = new vscode . Range (
37913794 new vscode . Position ( formatRangeStartLine + ( nextLineOffset < 0 ? nextLineOffset : 0 ) , range . start . character ) ,
3792- new vscode . Position ( rangeStartLine + ( nextLineOffset < 0 ? 0 : nextLineOffset ) ,
3795+ new vscode . Position ( formatRangeStartLine + ( nextLineOffset < 0 ? 0 : nextLineOffset ) ,
37933796 isReplace ? range . end . character :
3794- range . end . character + edit . newText . length - rangeStartCharacter ) ) ;
3797+ ( ( startWithNewLine ? 0 : range . end . character ) + ( edit . newText . endsWith ( "\n" ) ? 0 : edit . newText . length - rangeStartCharacter ) )
3798+ )
3799+ ) ;
37953800 if ( isSourceFile ) {
37963801 sourceFormatUriAndRanges . push ( { uri, range : newFormatRange } ) ;
37973802 } else {
You can’t perform that action at this time.
0 commit comments