From 3b06ef1a733904013d67cb1e1fdb366082f0f9dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20=E3=82=B5=E3=82=A4=E3=83=88=E3=83=BC=20=E4=B8=AD?= =?UTF-8?q?=E6=9D=91=20Bashurov?= Date: Tue, 6 Apr 2021 01:29:51 +0300 Subject: [PATCH] Add asserts to type only symbols meaning exclusion (#43382) Fixes #42180 --- src/services/completions.ts | 5 +++-- tests/cases/fourslash/completionsAsserts.ts | 8 ++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 tests/cases/fourslash/completionsAsserts.ts diff --git a/src/services/completions.ts b/src/services/completions.ts index 3e5d3a8c2a7..6dd3e51640a 100644 --- a/src/services/completions.ts +++ b/src/services/completions.ts @@ -1659,8 +1659,9 @@ namespace ts.Completions { function isContextTokenValueLocation(contextToken: Node) { return contextToken && - contextToken.kind === SyntaxKind.TypeOfKeyword && - (contextToken.parent.kind === SyntaxKind.TypeQuery || isTypeOfExpression(contextToken.parent)); + ((contextToken.kind === SyntaxKind.TypeOfKeyword && + (contextToken.parent.kind === SyntaxKind.TypeQuery || isTypeOfExpression(contextToken.parent))) || + (contextToken.kind === SyntaxKind.AssertsKeyword && contextToken.parent.kind === SyntaxKind.TypePredicate)); } function isContextTokenTypeLocation(contextToken: Node): boolean { diff --git a/tests/cases/fourslash/completionsAsserts.ts b/tests/cases/fourslash/completionsAsserts.ts new file mode 100644 index 00000000000..cd1d50d953a --- /dev/null +++ b/tests/cases/fourslash/completionsAsserts.ts @@ -0,0 +1,8 @@ +/// + +////declare function assert(argument1: any): asserts a/**/ + +verify.completions({ + marker: "", + includes: { name: "argument1" } +});