diff --git a/src/harness/fourslash.ts b/src/harness/fourslash.ts index a29a25af19bd3..5303bc9e9c654 100644 --- a/src/harness/fourslash.ts +++ b/src/harness/fourslash.ts @@ -858,8 +858,7 @@ namespace FourSlash { const actualByName = ts.createMap(); for (const entry of actualCompletions.entries) { if (actualByName.has(entry.name)) { - // TODO: GH#23587 - if (entry.name !== "undefined" && entry.name !== "require") this.raiseError(`Duplicate completions for ${entry.name}`); + this.raiseError(`Duplicate completions for ${entry.name}`); } else { actualByName.set(entry.name, entry); diff --git a/src/services/completions.ts b/src/services/completions.ts index f887d28cf10c8..13e11a4aa7ca5 100644 --- a/src/services/completions.ts +++ b/src/services/completions.ts @@ -2059,8 +2059,9 @@ namespace ts.Completions { const kind = stringToToken(entry.name); switch (keywordFilter) { case KeywordCompletionFilters.None: - // "undefined" is a global variable, so don't need a keyword completion for it. - return kind !== SyntaxKind.UndefinedKeyword; + // TODO: GH#23631 Includes type keywords because `Array - -////var x = Object.create(/**/ - -goTo.marker(); -verify.not.completionListIsEmpty(); -edit.insert("nu"); -verify.completionListContains("number", undefined, undefined, "keyword"); \ No newline at end of file diff --git a/tests/cases/fourslash/completionListKeywords.ts b/tests/cases/fourslash/completionListKeywords.ts index edfc54bcc7d53..8b9a8cc222cb0 100644 --- a/tests/cases/fourslash/completionListKeywords.ts +++ b/tests/cases/fourslash/completionListKeywords.ts @@ -1,48 +1,42 @@ /// -/////**/ +//// -goTo.marker(); -verify.completionListContains("break"); -verify.completionListContains("case"); -verify.completionListContains("catch"); -verify.completionListContains("class"); -verify.completionListContains("constructor"); -verify.completionListContains("continue"); -verify.completionListContains("debugger"); -verify.completionListContains("declare"); -verify.completionListContains("default"); -verify.completionListContains("delete"); -verify.completionListContains("do"); -verify.completionListContains("else"); -verify.completionListContains("enum"); -verify.completionListContains("export"); -verify.completionListContains("extends"); -verify.completionListContains("false"); -verify.completionListContains("finally"); -verify.completionListContains("for"); -verify.completionListContains("function"); -verify.completionListContains("get"); -verify.completionListContains("if"); -verify.completionListContains("implements"); -verify.completionListContains("import"); -verify.completionListContains("in"); -verify.completionListContains("instanceof"); -verify.completionListContains("interface"); -verify.completionListContains("module"); -verify.completionListContains("new"); -verify.completionListContains("private"); -verify.completionListContains("public"); -verify.completionListContains("return"); -verify.completionListContains("set"); -verify.completionListContains("static"); -verify.completionListContains("super"); -verify.completionListContains("switch"); -verify.completionListContains("this"); -verify.completionListContains("throw"); -verify.completionListContains("true"); -verify.completionListContains("try"); -verify.completionListContains("typeof"); -verify.completionListContains("var"); -verify.completionListContains("while"); -verify.completionListContains("with"); +verify.completions({ + includes: [ + "break", + "case", + "catch", + "class", + "continue", + "debugger", + "declare", + "default", + "delete", + "do", + "else", + "enum", + "export", + "extends", + "false", + "finally", + "for", + "function", + "if", + "instanceof", + "interface", + "module", + "new", + "return", + "super", + "switch", + "this", + "throw", + "true", + "try", + "typeof", + "var", + "while", + "with", + ], +}); diff --git a/tests/cases/fourslash/completionListPrimitives.ts b/tests/cases/fourslash/completionListPrimitives.ts deleted file mode 100644 index 7be481f853e6f..0000000000000 --- a/tests/cases/fourslash/completionListPrimitives.ts +++ /dev/null @@ -1,5 +0,0 @@ -/// - -//// - -verify.completions({ includes: ["any", "boolean", "null", "number", "string", "undefined", "void"] })