Skip to content

Commit d97dec8

Browse files
committed
Fold newline logic into getNewLineOrDefaultFromHost
1 parent 50fd476 commit d97dec8

File tree

3 files changed

+7
-10
lines changed

3 files changed

+7
-10
lines changed

src/services/codefixes/disableJsDiagnostics.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ namespace ts.codefix {
1515
return undefined;
1616
}
1717

18-
const newLineCharacter = textChanges.getNewLineFromContext(context);
18+
const newLineCharacter = getNewLineOrDefaultFromHost(context.host, context.formatContext.options);
1919

2020
return [{
2121
description: getLocaleSpecificMessage(Diagnostics.Ignore_this_error_message),
@@ -38,7 +38,7 @@ namespace ts.codefix {
3838
fixIds: [fixId], // No point applying as a group, doing it once will fix all errors
3939
getAllCodeActions: context => codeFixAllWithTextChanges(context, errorCodes, (changes, err) => {
4040
if (err.start !== undefined) {
41-
changes.push(getIgnoreCommentLocationForLocation(err.file!, err.start, textChanges.getNewLineFromContext(context)));
41+
changes.push(getIgnoreCommentLocationForLocation(err.file!, err.start, getNewLineOrDefaultFromHost(context.host, context.formatContext.options)));
4242
}
4343
}),
4444
});

src/services/textChanges.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -191,11 +191,6 @@ namespace ts.textChanges {
191191
formatContext: ts.formatting.FormatContext;
192192
}
193193

194-
export function getNewLineFromContext(context: TextChangesContext) {
195-
const formatSettings = context.formatContext.options;
196-
return (formatSettings && formatSettings.newLineCharacter) || getNewLineOrDefaultFromHost(context.host);
197-
}
198-
199194
export class ChangeTracker {
200195
private readonly changes: Change[] = [];
201196
private readonly newLineCharacter: string;
@@ -204,7 +199,7 @@ namespace ts.textChanges {
204199
private readonly nodesInsertedAtClassStarts = createMap<{ sourceFile: SourceFile, cls: ClassLikeDeclaration, members: ClassElement[] }>();
205200

206201
public static fromContext(context: TextChangesContext): ChangeTracker {
207-
return new ChangeTracker(getNewLineFromContext(context) === "\n" ? NewLineKind.LineFeed : NewLineKind.CarriageReturnLineFeed, context.formatContext);
202+
return new ChangeTracker(getNewLineOrDefaultFromHost(context.host, context.formatContext.options) === "\n" ? NewLineKind.LineFeed : NewLineKind.CarriageReturnLineFeed, context.formatContext);
208203
}
209204

210205
public static with(context: TextChangesContext, cb: (tracker: ChangeTracker) => void): FileTextChanges[] {

src/services/utilities.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1259,8 +1259,10 @@ namespace ts {
12591259
/**
12601260
* The default is CRLF.
12611261
*/
1262-
export function getNewLineOrDefaultFromHost(host: LanguageServiceHost | LanguageServiceShimHost) {
1263-
return host.getNewLine ? host.getNewLine() : carriageReturnLineFeed;
1262+
export function getNewLineOrDefaultFromHost(host: LanguageServiceHost | LanguageServiceShimHost, formatSettings?: FormatCodeSettings) {
1263+
return (formatSettings && formatSettings.newLineCharacter) ||
1264+
(host.getNewLine && host.getNewLine()) ||
1265+
carriageReturnLineFeed;
12641266
}
12651267

12661268
export function lineBreakPart() {

0 commit comments

Comments
 (0)