Skip to content

Commit 0c96d7b

Browse files
committed
Merge pull request #5583 from basarat/ls/jsxSemantic
tsx : support tags in language service semantic tokenizer
2 parents 00aa3c8 + cfc6ed2 commit 0c96d7b

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

src/services/services.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1612,6 +1612,9 @@ namespace ts {
16121612
public static typeAliasName = "type alias name";
16131613
public static parameterName = "parameter name";
16141614
public static docCommentTagName = "doc comment tag name";
1615+
public static jsxOpenTagName = "jsx open tag name";
1616+
public static jsxCloseTagName = "jsx close tag name";
1617+
public static jsxSelfClosingTagName = "jsx self closing tag name";
16151618
}
16161619

16171620
export const enum ClassificationType {
@@ -1633,6 +1636,9 @@ namespace ts {
16331636
typeAliasName = 16,
16341637
parameterName = 17,
16351638
docCommentTagName = 18,
1639+
jsxOpenTagName = 19,
1640+
jsxCloseTagName = 20,
1641+
jsxSelfClosingTagName = 21,
16361642
}
16371643

16381644
/// Language Service
@@ -6710,6 +6716,9 @@ namespace ts {
67106716
case ClassificationType.typeAliasName: return ClassificationTypeNames.typeAliasName;
67116717
case ClassificationType.parameterName: return ClassificationTypeNames.parameterName;
67126718
case ClassificationType.docCommentTagName: return ClassificationTypeNames.docCommentTagName;
6719+
case ClassificationType.jsxOpenTagName: return ClassificationTypeNames.jsxOpenTagName;
6720+
case ClassificationType.jsxCloseTagName: return ClassificationTypeNames.jsxCloseTagName;
6721+
case ClassificationType.jsxSelfClosingTagName: return ClassificationTypeNames.jsxSelfClosingTagName;
67136722
}
67146723
}
67156724

@@ -7022,6 +7031,23 @@ namespace ts {
70227031
}
70237032
return;
70247033

7034+
case SyntaxKind.JsxOpeningElement:
7035+
if ((<JsxOpeningElement>token.parent).tagName === token) {
7036+
return ClassificationType.jsxOpenTagName;
7037+
}
7038+
return;
7039+
7040+
case SyntaxKind.JsxClosingElement:
7041+
if ((<JsxClosingElement>token.parent).tagName === token) {
7042+
return ClassificationType.jsxCloseTagName;
7043+
}
7044+
return;
7045+
7046+
case SyntaxKind.JsxSelfClosingElement:
7047+
if ((<JsxSelfClosingElement>token.parent).tagName === token) {
7048+
return ClassificationType.jsxSelfClosingTagName;
7049+
}
7050+
return;
70257051
}
70267052
}
70277053

0 commit comments

Comments
 (0)