-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathPseudocode.YAML-tmLanguage
84 lines (72 loc) · 2.45 KB
/
Pseudocode.YAML-tmLanguage
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
# [PackageDev] target_format: plist, ext: tmLanguage
name: Pseudocode
scopeName: source.pseudocode
fileTypes: []
uuid: 3010fe6c-ea8a-4acf-a7cd-ffc0cb29b832
patterns:
- name: comment.line.note.pseudocode
match: (//).*$\n?
captures:
'1': {name: punctuation.definition.comment.pseudocode}
- name: keyword.control.pseudocode
match: \b(For|Do|While|End While|If|End If|Then|Else|End For|End Module|Select|Case|End
Function)\b
- name: storage.type.pseudocode
match: \b(Integer|Real|String|Boolean)\b
- name: storage.modifier.pseudocode
match: \b(Constant|Ref)\b
- name: constant.numeric.pseudocode
match: \b((0(x|X)[0-9a-fA-F]+)|([0-9]+(\.[0-9]+)?))\b
- name: keyword.operator.pseudocode
match: =|==|!=
- name: keyword.other.pseudocode
match: \b(Display|Input|Declare|Set|Call|Return)\b
- name: meta.module.pseudocode
begin: ^\s*(Module)\s+(?=[A-Za-z_][A-Za-z0-9_]*\s*\()
beginCaptures:
'1': {name: storage.type.module.pseudocode}
end: (\))
endCaptures:
'1': {name: punctuation.definition.parameters.end.pseudocode}
patterns:
- contentName: entity.name.function.pseudocode
begin: (?=[A-Za-z_][A-Za-z0-9_]*)
end: (?![A-Za-z0-9_])
- contentName: meta.function.parameters.pseudocode
begin: (\()
beginCaptures:
'1': {name: punctuation.definition.parameters.begin.pseudocode}
end: (?=\)\s*)
- name: meta.function.pseudocode
begin: ^\s*(Function)\s+(?=\w.*\s+)(?=[A-Za-z_][A-Za-z0-9_]*\s*\()
beginCaptures:
'1': {name: storage.type.function.pseudocode}
end: (\))
endCaptures:
'1': {name: punctuation.definition.parameters.end.pseudocode}
patterns:
- contentName: meta.function.identifier.pseudocode
begin: (?=[A-Za-z_][A-Za-z0-9_]*)\s*\(
end: (\))
beginCaptures:
'1': {name: entity.name.function.pseudocode}
- contentName: meta.function.return-type.pseudocode
begin: (?=\w.*\s*\w+\s*[A-Za-z_][A-Za-z0-9_]*\s*\()
end: (?=[A-Za-z_][A-Za-z0-9_]*\s*\()
patterns:
- name: storage.type.pseudocode
match: \b(Integer|Real|String|Boolean)\b
- name: string.quoted.single.pseudocode
begin: (')
beginCaptures:
'1': {name: punctuation.definition.string.begin.pseudocode}
end: (')
endCaptures:
'1': {name: punctuation.definition.string.end.pseudocode}
- name: string.quoted.single.pseudocode
begin: (")
beginCaptures:
'1': {name: punctuation.definition.string.begin.pseudocode}
end: (")
endCaptures:
'1': {name: punctuation.definition.string.end.pseudocode}