1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
|
/// <reference path="fourslash.ts" />
// @newline: LF
// @strictNullChecks: true
// @Filename: a.ts
////interface I1 {
//// M(x: number): void;
////}
////interface I2 {
//// M(x: number): void;
////}
////const u: I1 | I2 = {
//// /*a*/
////}
////const i: I1 & I2 = {
//// /*b*/
////}
////interface U1 {
//// M(x: number): string;
////}
////interface U2 {
//// M(x: string): number;
////}
////const o: U1 | U2 = {
//// /*c*/
////}
////interface Op {
//// M?(x: number): void;
//// N: ((x: string) => void) | null | undefined;
//// O?: () => void;
////}
////const op: Op = {
//// /*d*/
////}
verify.completions({
marker: "a",
preferences: {
includeCompletionsWithInsertText: true,
includeCompletionsWithSnippetText: false,
includeCompletionsWithObjectLiteralMethodSnippets: true,
useLabelDetailsInCompletionEntries: true,
},
includes: [
{
name: "M",
sortText: completion.SortText.ObjectLiteralProperty(completion.SortText.LocationPriority, "M"),
insertText: undefined,
},
{
name: "M",
sortText: completion.SortText.SortBelow(
completion.SortText.ObjectLiteralProperty(completion.SortText.LocationPriority, "M")),
source: completion.CompletionSource.ObjectLiteralMethodSnippet,
insertText: "M(x) {\n},",
labelDetails: {
detail: "(x)",
},
},
],
});
verify.completions({
marker: "b",
preferences: {
includeCompletionsWithInsertText: true,
includeCompletionsWithSnippetText: false,
includeCompletionsWithObjectLiteralMethodSnippets: true,
},
includes: [
{
name: "M",
sortText: completion.SortText.ObjectLiteralProperty(completion.SortText.LocationPriority, "M"),
insertText: undefined,
},
// No signature completion because type of `M` is intersection type
],
});
verify.completions({
marker: "c",
preferences: {
includeCompletionsWithInsertText: true,
includeCompletionsWithSnippetText: false,
includeCompletionsWithObjectLiteralMethodSnippets: true,
},
exact: [
{
name: "M",
sortText: completion.SortText.ObjectLiteralProperty(completion.SortText.LocationPriority, "M"),
insertText: undefined,
},
// No signature completion because type of `M` is intersection type
],
});
verify.completions({
marker: "d",
preferences: {
includeCompletionsWithInsertText: true,
includeCompletionsWithSnippetText: false,
includeCompletionsWithObjectLiteralMethodSnippets: true,
useLabelDetailsInCompletionEntries: true,
},
includes: [
{
name: "M",
sortText: completion.SortText.ObjectLiteralProperty(completion.SortText.OptionalMember, "M"),
insertText: undefined,
},
{
name: "M",
sortText: completion.SortText.SortBelow(
completion.SortText.ObjectLiteralProperty(completion.SortText.OptionalMember, "M")),
source: completion.CompletionSource.ObjectLiteralMethodSnippet,
insertText: "M(x) {\n},",
labelDetails: {
detail: "(x)",
},
},
{
name: "N",
sortText: completion.SortText.ObjectLiteralProperty(completion.SortText.LocationPriority, "N"),
insertText: undefined,
},
{
name: "N",
sortText: completion.SortText.SortBelow(
completion.SortText.ObjectLiteralProperty(completion.SortText.LocationPriority, "N")),
source: completion.CompletionSource.ObjectLiteralMethodSnippet,
insertText: "N(x) {\n},",
labelDetails: {
detail: "(x)",
},
},
{
name: "O",
sortText: completion.SortText.ObjectLiteralProperty(completion.SortText.OptionalMember, "O"),
insertText: undefined,
},
{
name: "O",
sortText: completion.SortText.SortBelow(
completion.SortText.ObjectLiteralProperty(completion.SortText.OptionalMember, "O")),
source: completion.CompletionSource.ObjectLiteralMethodSnippet,
insertText: "O() {\n},",
labelDetails: {
detail: "()",
},
},
],
});
|