mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-06-11 10:46:28 -05:00
fix newline handling
This commit is contained in:
@@ -829,6 +829,7 @@ namespace ts.Completions {
|
||||
target: options.target,
|
||||
omitTrailingSemicolon: true,
|
||||
hasSnippet: true,
|
||||
newLine: getNewLineKind(getNewLineCharacter(options, host.getNewLine)),
|
||||
});
|
||||
const importAdder = codefix.createImportAdder(sourceFile, program, preferences, host);
|
||||
|
||||
|
||||
@@ -1037,7 +1037,7 @@ namespace ts.textChanges {
|
||||
/** Note: output node may be mutated input node. */
|
||||
export function getNonformattedText(node: Node, sourceFile: SourceFile | undefined, newLineCharacter: string): { text: string, node: Node } {
|
||||
const writer = createWriter(newLineCharacter);
|
||||
const newLine = newLineCharacter === "\n" ? NewLineKind.LineFeed : NewLineKind.CarriageReturnLineFeed;
|
||||
const newLine = getNewLineKind(newLineCharacter);
|
||||
createPrinter({
|
||||
newLine,
|
||||
neverAsciiEscape: true,
|
||||
|
||||
@@ -3262,5 +3262,9 @@ namespace ts {
|
||||
return decisionFromFile ?? program.usesUriStyleNodeCoreModules;
|
||||
}
|
||||
|
||||
export function getNewLineKind(newLineCharacter: string): NewLineKind {
|
||||
return newLineCharacter === "\n" ? NewLineKind.LineFeed : NewLineKind.CarriageReturnLineFeed;
|
||||
}
|
||||
|
||||
// #endregion
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/// <reference path="fourslash.ts" />
|
||||
|
||||
// @newline: LF
|
||||
// @Filename: a.ts
|
||||
// Case: Concrete class implements abstract method
|
||||
////abstract class ABase {
|
||||
@@ -111,12 +112,6 @@
|
||||
////}
|
||||
|
||||
|
||||
|
||||
// format.setFormatOptions({
|
||||
// newLineCharacter: "\n",
|
||||
// });
|
||||
// format.setOption("newline", "\n");
|
||||
|
||||
verify.completions({
|
||||
marker: "a",
|
||||
isNewIdentifierLocation: true,
|
||||
@@ -134,7 +129,7 @@ verify.completions({
|
||||
end: 0,
|
||||
},
|
||||
insertText:
|
||||
"foo(param1: string, param2: boolean): Promise<void> {\r\n}\r\n",
|
||||
"foo(param1: string, param2: boolean): Promise<void> {\n}\n",
|
||||
}
|
||||
],
|
||||
});
|
||||
@@ -156,7 +151,7 @@ verify.completions({
|
||||
end: 0,
|
||||
},
|
||||
insertText:
|
||||
"foo(a: string, b: string): string {\r\n}\r\n",
|
||||
"foo(a: string, b: string): string {\n}\n",
|
||||
}
|
||||
],
|
||||
});
|
||||
@@ -178,7 +173,7 @@ verify.completions({
|
||||
end: 0,
|
||||
},
|
||||
insertText:
|
||||
"foo(a: string): string {\r\n}\r\n",
|
||||
"foo(a: string): string {\n}\n",
|
||||
}
|
||||
],
|
||||
});
|
||||
@@ -200,7 +195,7 @@ verify.completions({
|
||||
end: 0,
|
||||
},
|
||||
insertText:
|
||||
"foo(a: string): string {\r\n}\r\n",
|
||||
"foo(a: string): string {\n}\n",
|
||||
}
|
||||
],
|
||||
});
|
||||
@@ -222,7 +217,7 @@ verify.completions({
|
||||
end: 0,
|
||||
},
|
||||
insertText:
|
||||
"foo(a: string): string {\r\n}\r\n",
|
||||
"foo(a: string): string {\n}\n",
|
||||
}
|
||||
],
|
||||
});
|
||||
@@ -244,7 +239,7 @@ verify.completions({
|
||||
end: 0,
|
||||
},
|
||||
insertText:
|
||||
"foo(a: string): string {\r\n}\r\n",
|
||||
"foo(a: string): string {\n}\n",
|
||||
}
|
||||
],
|
||||
});
|
||||
@@ -266,9 +261,9 @@ verify.completions({
|
||||
end: 0,
|
||||
},
|
||||
insertText:
|
||||
"foo(a: string): string;\r\n\
|
||||
foo(a: undefined, b: number): string;\r\n\
|
||||
foo(a: any, b?: any): string {\r\n}\r\n",
|
||||
"foo(a: string): string;\n\
|
||||
foo(a: undefined, b: number): string;\n\
|
||||
foo(a: any, b?: any): string {\n}\n",
|
||||
}
|
||||
],
|
||||
});
|
||||
@@ -299,7 +294,7 @@ verify.completions({
|
||||
end: 0,
|
||||
},
|
||||
insertText:
|
||||
"met(n: number): number {\r\n}\r\n",
|
||||
"met(n: number): number {\n}\n",
|
||||
}
|
||||
],
|
||||
});
|
||||
@@ -321,7 +316,7 @@ verify.completions({
|
||||
end: 0,
|
||||
},
|
||||
insertText:
|
||||
"met<T>(t: T): T {\r\n}\r\n",
|
||||
"met<T>(t: T): T {\n}\n",
|
||||
},
|
||||
{
|
||||
name: "metcons",
|
||||
@@ -332,7 +327,7 @@ verify.completions({
|
||||
end: 0,
|
||||
},
|
||||
insertText:
|
||||
"metcons<T extends string | number>(t: T): T {\r\n}\r\n",
|
||||
"metcons<T extends string | number>(t: T): T {\n}\n",
|
||||
}
|
||||
],
|
||||
});
|
||||
@@ -1,5 +1,6 @@
|
||||
/// <reference path="fourslash.ts" />
|
||||
|
||||
// @newline: LF
|
||||
// @Filename: h.ts
|
||||
// @noImplicitOverride: true
|
||||
// Case: Suggested method needs `override` modifier
|
||||
@@ -11,10 +12,6 @@
|
||||
//// f/*h*/
|
||||
////}
|
||||
|
||||
// format.setFormatOptions({
|
||||
// newLineCharacter: "\n",
|
||||
// });
|
||||
// format.setOption("newline", "\n");
|
||||
|
||||
verify.completions({
|
||||
marker: "h",
|
||||
@@ -33,7 +30,7 @@ verify.completions({
|
||||
end: 0,
|
||||
},
|
||||
insertText:
|
||||
"override foo(a: string): void {\r\n}\r\n",
|
||||
"override foo(a: string): void {\n}\n",
|
||||
}
|
||||
],
|
||||
});
|
||||
@@ -1,5 +1,6 @@
|
||||
/// <reference path="fourslash.ts" />
|
||||
|
||||
// @newline: LF
|
||||
// @Filename: a.ts
|
||||
// Case: Snippet text needs escaping
|
||||
////interface DollarSign {
|
||||
@@ -9,10 +10,6 @@
|
||||
//// /*a*/
|
||||
////}
|
||||
|
||||
// format.setFormatOptions({
|
||||
// newLineCharacter: "\n",
|
||||
// });
|
||||
// format.setOption("newline", "\n");
|
||||
|
||||
verify.completions({
|
||||
marker: "a",
|
||||
@@ -32,7 +29,7 @@ verify.completions({
|
||||
},
|
||||
isSnippet: true,
|
||||
insertText:
|
||||
"\"\\$usd\"(${1:a}: ${2:number}): ${3:number} {\r\n $0\r\n}\r\n",
|
||||
"\"\\$usd\"(${1:a}: ${2:number}): ${3:number} {\n $0\n}\n",
|
||||
}
|
||||
],
|
||||
});
|
||||
@@ -1,5 +1,6 @@
|
||||
/// <reference path="fourslash.ts" />
|
||||
|
||||
// @newline: LF
|
||||
// @Filename: boo.d.ts
|
||||
// Case: Declaration files
|
||||
////interface Ghost {
|
||||
@@ -10,10 +11,6 @@
|
||||
//// /*b*/
|
||||
////}
|
||||
|
||||
// format.setFormatOptions({
|
||||
// newLineCharacter: "\n",
|
||||
// });
|
||||
// format.setOption("newline", "\n");
|
||||
|
||||
verify.completions({
|
||||
marker: "b",
|
||||
@@ -32,7 +29,7 @@ verify.completions({
|
||||
end: 0,
|
||||
},
|
||||
insertText:
|
||||
"boo(): string;\r\n",
|
||||
"boo(): string;\n",
|
||||
}
|
||||
],
|
||||
});
|
||||
@@ -1,5 +1,6 @@
|
||||
/// <reference path="fourslash.ts" />
|
||||
|
||||
// @newline: LF
|
||||
// @Filename: secret.ts
|
||||
// Case: accessibility modifier inheritance
|
||||
////class Secret {
|
||||
@@ -26,11 +27,6 @@
|
||||
////}
|
||||
|
||||
|
||||
// format.setFormatOptions({
|
||||
// newLineCharacter: "\n",
|
||||
// });
|
||||
// format.setOption("newline", "\n");
|
||||
|
||||
verify.completions({
|
||||
marker: "a",
|
||||
isNewIdentifierLocation: true,
|
||||
@@ -51,7 +47,7 @@ verify.completions({
|
||||
pos: 0,
|
||||
end: 0,
|
||||
},
|
||||
insertText: "protected hint(): string {\r\n}\r\n",
|
||||
insertText: "protected hint(): string {\n}\n",
|
||||
},
|
||||
{
|
||||
name: "refuse",
|
||||
@@ -61,7 +57,7 @@ verify.completions({
|
||||
pos: 0,
|
||||
end: 0,
|
||||
},
|
||||
insertText: "public refuse(): string {\r\n}\r\n",
|
||||
insertText: "public refuse(): string {\n}\n",
|
||||
}
|
||||
],
|
||||
});
|
||||
@@ -1,5 +1,6 @@
|
||||
/// <reference path="fourslash.ts" />
|
||||
|
||||
// @newline: LF
|
||||
// @Filename: a.ts
|
||||
// Case: abstract methods
|
||||
////abstract class Ab {
|
||||
@@ -15,10 +16,6 @@
|
||||
//// abstract m/*c*/
|
||||
////}
|
||||
|
||||
// format.setFormatOptions({
|
||||
// newLineCharacter: "\n",
|
||||
// });
|
||||
// format.setOption("newline", "\n");
|
||||
|
||||
verify.completions({
|
||||
marker: "a",
|
||||
@@ -36,7 +33,7 @@ verify.completions({
|
||||
pos: 0,
|
||||
end: 0,
|
||||
},
|
||||
insertText: "met(n: string): void {\r\n}\r\n",
|
||||
insertText: "met(n: string): void {\n}\n",
|
||||
},
|
||||
{
|
||||
name: "met2",
|
||||
@@ -46,7 +43,7 @@ verify.completions({
|
||||
pos: 0,
|
||||
end: 0,
|
||||
},
|
||||
insertText: "met2(n: number): void {\r\n}\r\n",
|
||||
insertText: "met2(n: number): void {\n}\n",
|
||||
}
|
||||
],
|
||||
});
|
||||
@@ -67,7 +64,7 @@ verify.completions({
|
||||
pos: 0,
|
||||
end: 0,
|
||||
},
|
||||
insertText: "met(n: string): void;\r\n",
|
||||
insertText: "met(n: string): void;\n",
|
||||
},
|
||||
{
|
||||
name: "met2",
|
||||
@@ -77,7 +74,7 @@ verify.completions({
|
||||
pos: 0,
|
||||
end: 0,
|
||||
},
|
||||
insertText: "met2(n: number): void;\r\n",
|
||||
insertText: "met2(n: number): void;\n",
|
||||
}
|
||||
],
|
||||
});
|
||||
@@ -98,7 +95,7 @@ verify.completions({
|
||||
pos: 0,
|
||||
end: 0,
|
||||
},
|
||||
insertText: "met(n: string): void;\r\n",
|
||||
insertText: "met(n: string): void;\n",
|
||||
},
|
||||
{
|
||||
name: "met2",
|
||||
@@ -108,7 +105,7 @@ verify.completions({
|
||||
pos: 0,
|
||||
end: 0,
|
||||
},
|
||||
insertText: "met2(n: number): void;\r\n",
|
||||
insertText: "met2(n: number): void;\n",
|
||||
}
|
||||
],
|
||||
});
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/// <reference path="fourslash.ts" />
|
||||
|
||||
// @Filename: a.ts
|
||||
// @newline: LF
|
||||
// Case: modifier inheritance/deduplication
|
||||
////class A {
|
||||
//// public method(): number {
|
||||
@@ -25,12 +26,6 @@
|
||||
//// public f/*c*/
|
||||
////}
|
||||
|
||||
|
||||
// format.setFormatOptions({
|
||||
// newLineCharacter: "\n",
|
||||
// });
|
||||
// format.setOption("newline", "\n");
|
||||
|
||||
verify.completions({
|
||||
marker: "a",
|
||||
isNewIdentifierLocation: true,
|
||||
@@ -47,7 +42,7 @@ verify.completions({
|
||||
pos: 0,
|
||||
end: 0,
|
||||
},
|
||||
insertText: "method(): number {\r\n}\r\n",
|
||||
insertText: "method(): number {\n}\n",
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -68,7 +63,7 @@ verify.completions({
|
||||
pos: 0,
|
||||
end: 0,
|
||||
},
|
||||
insertText: "method(): number;\r\n",
|
||||
insertText: "method(): number;\n",
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -90,9 +85,9 @@ verify.completions({
|
||||
end: 0,
|
||||
},
|
||||
insertText:
|
||||
"fun(a: number): number;\r\n\
|
||||
public fun(a: undefined, b: string): number;\r\n\
|
||||
public fun(a: any, b?: any): number {\r\n}\r\n",
|
||||
"fun(a: number): number;\n\
|
||||
public fun(a: undefined, b: string): number;\n\
|
||||
public fun(a: any, b?: any): number {\n}\n",
|
||||
},
|
||||
],
|
||||
});
|
||||
Reference in New Issue
Block a user