* Fix type keyword completions 1. In functions, type keywords were omitted. 2. In All context, no keywords were omitted. (1) fixes #28737 (2) removes 17 keywords that should not be suggested, even at the toplevel of a typescript file: * private * protected * public * static * abstract * as * constructor * get * infer * is * namespace * require * set * type * from * global * of I don't know whether we have a bug tracking this or not. * Change keyword filter in filterGlobalCompletion Instead of changing FunctionLikeBodyKeywords * Add more tests cases * Make type-only completions after < more common Because isPossiblyTypeArgumentPosition doesn't give false positives now that it uses type information.
28 lines
583 B
TypeScript
28 lines
583 B
TypeScript
/// <reference path='fourslash.ts'/>
|
|
|
|
//// class Foo<T> { }
|
|
//// class Bar { }
|
|
//// function includesTypes() {
|
|
//// new Foo</*1*/
|
|
//// }
|
|
//// function excludesTypes1() {
|
|
//// new Bar</*2*/
|
|
//// }
|
|
//// function excludesTypes2() {
|
|
//// 1</*3*/
|
|
//// }
|
|
|
|
verify.completions(
|
|
{
|
|
marker: ["1"],
|
|
includes: [
|
|
{ name: "string", sortText: completion.SortText.GlobalsOrKeywords },
|
|
{ name: "String", sortText: completion.SortText.GlobalsOrKeywords },
|
|
],
|
|
},
|
|
{
|
|
marker: ["2", "3"],
|
|
excludes: ["string"]
|
|
}
|
|
);
|