Repository navigation
Expand file tree
/
Copy pathmcpp-modules.tmLanguage.json
More file actions
72 lines (72 loc) · 2.15 KB
/
Copy pathmcpp-modules.tmLanguage.json
File metadata and controls
72 lines (72 loc) · 2.15 KB
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
{
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
"name": "mcpp C++ Modules",
"scopeName": "source.cpp.mcpp-modules",
"injectionSelector": "L:source.cpp",
"patterns": [
{
"include": "#module-declaration"
},
{
"include": "#import-declaration"
}
],
"repository": {
"module-declaration": {
"match": "^\\s*(?:(export)\\s+)?(module)\\b\\s*(?:([A-Za-z_][A-Za-z0-9_]*(?:\\.[A-Za-z_][A-Za-z0-9_]*)*)(?:\\s*(:)\\s*([A-Za-z_][A-Za-z0-9_]*))?|(:)\\s*([A-Za-z_][A-Za-z0-9_]*))?(?:\\s*;)?",
"captures": {
"1": {
"name": "keyword.control.export.cpp"
},
"2": {
"name": "keyword.control.module.cpp"
},
"3": {
"name": "entity.name.namespace.module.cpp"
},
"4": {
"name": "punctuation.separator.module-partition.cpp"
},
"5": {
"name": "entity.name.namespace.module.partition.cpp"
},
"6": {
"name": "punctuation.separator.module-partition.cpp"
},
"7": {
"name": "entity.name.namespace.module.partition.cpp"
}
}
},
"import-declaration": {
"match": "^\\s*(?:(export)\\s+)?(import)\\b\\s*(?:(:)([A-Za-z_][A-Za-z0-9_]*)|([A-Za-z_][A-Za-z0-9_]*(?:\\.[A-Za-z_][A-Za-z0-9_]*)*(?::[A-Za-z_][A-Za-z0-9_]*)?)|(<[^>]+>)|(\\\"[^\\\"]+\\\"))(?:\\s*;)?",
"captures": {
"1": {
"name": "keyword.control.export.cpp"
},
"2": {
"name": "keyword.control.import.cpp"
},
"3": {
"name": "punctuation.separator.module-partition.cpp"
},
"4": {
"name": "entity.name.namespace.module.partition.cpp"
},
"5": {
"name": "entity.name.namespace.module.cpp"
},
"6": {
"name": "string.quoted.other.header.cpp"
},
"7": {
"name": "string.quoted.double.header.cpp"
}
}
},
"module-name": {
"match": "\\b[A-Za-z_][A-Za-z0-9_]*(?:\\.[A-Za-z_][A-Za-z0-9_]*)*(?::[A-Za-z_][A-Za-z0-9_]*)?\\b",
"name": "entity.name.namespace.module.cpp"
}
}
}