-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcore.YAML-tmLanguage
More file actions
128 lines (114 loc) · 3.06 KB
/
core.YAML-tmLanguage
File metadata and controls
128 lines (114 loc) · 3.06 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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# [PackageDev] target_format: plist, ext: tmLanguage
name: coreLanguage
scopeName: source.core
fileTypes: [core]
uuid: b78bdd86-88be-4e81-909e-046062712a9a
patterns:
- include: '#comment'
- include: '#embeddedCCode'
- include: '#resetTask'
- include: '#taskDef'
- include: '#idleTask'
- include: '#asyncCall'
- include: '#syncCall'
repository:
# the comment
comment:
patterns:
- name: comment.line.core
match: (?:\s*)((\/\/).*)
captures:
'1': {name: comment.line.number-sign.core}
- name: comment.block.core
begin: (?:\s*)(\(\*+?)
beginCaptures:
'1': {name: comment.line.number-sign.core}
end: (\*+\))
patterns:
- name: comment.line.core
match: ([\w\s\W]*?)
embeddedCCode:
name: Cembedded.core
begin: (?:^\s*)(#>)
beginCaptures:
'1': {name: string.core}
end: (<#)
endCaptures:
'1': {name: string.core}
patterns:
- include: source.c
string:
name: string.quoted.single.core
match: (\")(\w*\b)(\")
illegal:
name: invalid.illegal.unrecognized.core
match: '[^\s}]'
primitifType:
comment: primitives types
name: storage.type.core
match: \b(int|char|bool|byte|void)\b
resetTask:
name: resetTask.core
begin: ^\s*(Reset)(?:\s*)\{(?:\s*)$
beginCaptures:
'1': {name: keyword.core}
end: (?:\s*)\}(?:\s*)$
patterns:
- include: '#embeddedCCode'
- include: '#comm'
- include: '#asyncCall'
- include: '#syncCall'
idleTask:
name: idleTask.core
begin: ^\s*(Idle)(?:\s*)\{(?:\s*)$
beginCaptures:
'1': {name: keyword.core}
end: (?:\s*)\}(?:\s*)$
patterns:
- include: '#embeddedCCode'
- include: '#comm'
- include: '#asyncCall'
- include: '#syncCall'
asyncCall:
name: asyncCall.core
begin: (async) ((after) (\d+(s|ms|us)) )?((before) (\d+(s|ms|us)) )?(?:([A-Za-z_][0-9A-Za-z_]*))\(
beginCaptures:
'1': {name: entity.name.class.core}
'4': {name: constant.numeric.time.core}
'8': {name: constant.numeric.time.core}
'10': {name: entity.name.tag.core}
end: \);
patterns:
- include: source.c
syncCall:
name: syncCall.core
begin: (sync) ([A-Za-z_][0-9A-Za-z_]*)\(
beginCaptures:
'1': {name: entity.name.class.core}
'2': {name: entity.name.tag.core}
end: \);
patterns:
- include: source.c
taskDef:
name: meta.class.task.core
begin: ^\s*(Task)\s+([A-Za-z_][0-9A-Za-z_]*)
beginCaptures:
'1': {name: entity.name.class.core}
'2': {name: entity.name.tag.core}
end: (\{)
patterns:
- comment: classArgs
begin: \(
end: (\)\s*)
patterns:
- comment: type identifiant
name: meta.class.parameters.core
begin: \s*
end: \s+([A-Za-z_][0-9A-Za-z_]*)(\s*, )?
endCaptures:
'1': {name: variable.parameter.function.core}
'2': {name: punctuation.definition.core}
patterns:
- include: source.c
- include: '#comment'
...