File: syntacticClassifications1.ts

package info (click to toggle)
node-typescript 4.1.3-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 396,552 kB
  • sloc: javascript: 1,444,377; makefile: 7; sh: 3
file content (49 lines) | stat: -rw-r--r-- 1,838 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/// <reference path="fourslash.ts"/>

//// // comment
//// module M {
////     var v = 0 + 1;
////     var s = "string";
////
////     class C<T> {
////     }
////
////     enum E {
////     }
////
////     interface I {
////     }
////
////     module M1.M2 {
////     }
//// }

const c = classification("original");
verify.syntacticClassificationsAre(
    c.comment("// comment"),
    c.keyword("module"), c.moduleName("M"), c.punctuation("{"),
        c.keyword("var"), c.identifier("v"), c.operator("="), c.numericLiteral("0"), c.operator("+"), c.numericLiteral("1"), c.punctuation(";"),
        c.keyword("var"), c.identifier("s"), c.operator("="), c.stringLiteral('"string"'), c.punctuation(";"),
        c.keyword("class"), c.className("C"), c.punctuation("<"), c.typeParameterName("T"), c.punctuation(">"), c.punctuation("{"),
        c.punctuation("}"),
        c.keyword("enum"), c.enumName("E"), c.punctuation("{"),
        c.punctuation("}"),
        c.keyword("interface"), c.interfaceName("I"), c.punctuation("{"),
        c.punctuation("}"),
        c.keyword("module"), c.moduleName("M1"), c.punctuation("."), c.moduleName("M2"), c.punctuation("{"),
        c.punctuation("}"),
    c.punctuation("}"));

    
const c2 = classification("2020");
verify.semanticClassificationsAre("2020",
    c2.semanticToken("namespace.declaration", "M"), 
    c2.semanticToken("variable.declaration.local", "v"), 
    c2.semanticToken("variable.declaration.local", "s"), 
    c2.semanticToken("class.declaration", "C"), 
    c2.semanticToken("typeParameter.declaration", "T"), 
    c2.semanticToken("enum.declaration", "E"), 
    c2.semanticToken("interface.declaration", "I"), 
    c2.semanticToken("namespace.declaration", "M1"), 
    c2.semanticToken("namespace.declaration", "M2"), 
);