mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-14 09:49:40 -05:00
add classification for type aliases
This commit is contained in:
@@ -1291,6 +1291,7 @@ module ts {
|
||||
public static interfaceName = "interface name";
|
||||
public static moduleName = "module name";
|
||||
public static typeParameterName = "type parameter name";
|
||||
public static typeAlias = "type alias name";
|
||||
}
|
||||
|
||||
enum MatchKind {
|
||||
@@ -4946,6 +4947,9 @@ module ts {
|
||||
else if (flags & SymbolFlags.Enum) {
|
||||
return ClassificationTypeNames.enumName;
|
||||
}
|
||||
else if (flags & SymbolFlags.TypeAlias) {
|
||||
return ClassificationTypeNames.typeAlias;
|
||||
}
|
||||
else if (meaningAtPosition & SemanticMeaning.Type) {
|
||||
if (flags & SymbolFlags.Interface) {
|
||||
return ClassificationTypeNames.interfaceName;
|
||||
|
||||
@@ -639,6 +639,10 @@ module FourSlashInterface {
|
||||
return getClassification("typeParameterName", text, position);
|
||||
}
|
||||
|
||||
export function typeAlias(text: string, position?: number): { classificationType: string; text: string; textSpan?: TextSpan } {
|
||||
return getClassification("typeAlias", text, position);
|
||||
}
|
||||
|
||||
function getClassification(type: string, text: string, position?: number) {
|
||||
return {
|
||||
classificationType: type,
|
||||
|
||||
15
tests/cases/fourslash/semanticClassificatonTypeAlias.ts
Normal file
15
tests/cases/fourslash/semanticClassificatonTypeAlias.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
/// <reference path="fourslash.ts"/>
|
||||
|
||||
////type /*0*/Alias = number
|
||||
////var x: /*1*/Alias;
|
||||
////var y = </*2*/Alias>{};
|
||||
////function f(x: /*3*/Alias): /*4*/Alias { return undefined; }
|
||||
|
||||
var c = classification;
|
||||
verify.semanticClassificationsAre(
|
||||
c.typeAlias("Alias", test.marker("0").position),
|
||||
c.typeAlias("Alias", test.marker("1").position),
|
||||
c.typeAlias("Alias", test.marker("2").position),
|
||||
c.typeAlias("Alias", test.marker("3").position),
|
||||
c.typeAlias("Alias", test.marker("4").position)
|
||||
);
|
||||
Reference in New Issue
Block a user