diff --git a/src/services/services.ts b/src/services/services.ts index 618a2747669..42f6fd27077 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -511,7 +511,7 @@ namespace ts { return !!(this.flags & TypeFlags.UnionOrIntersection); } isLiteral(): this is LiteralType { - return !!(this.flags & TypeFlags.StringOrNumberLiteral); + return !!(this.flags & (TypeFlags.StringLiteral | TypeFlags.NumberLiteral | TypeFlags.BigIntLiteral)); } isStringLiteral(): this is StringLiteralType { return !!(this.flags & TypeFlags.StringLiteral); diff --git a/tests/cases/fourslash/completionsLiterals.ts b/tests/cases/fourslash/completionsLiterals.ts index 475d3dd247e..e25976417d3 100644 --- a/tests/cases/fourslash/completionsLiterals.ts +++ b/tests/cases/fourslash/completionsLiterals.ts @@ -1,6 +1,7 @@ /// ////const x: 0 | "one" = /**/; +////const y: 0 | "one" | 1n = /*1*/; verify.completions({ marker: "", @@ -10,3 +11,12 @@ verify.completions({ ], isNewIdentifierLocation: true, }); +verify.completions({ + marker: "1", + includes: [ + { name: "0", kind: "string", text: "0" }, + { name: '"one"', kind: "string", text: '"one"' }, + { name: "1n", kind: "string", text: "1n" }, + ], + isNewIdentifierLocation: true, +});