-
-
Notifications
You must be signed in to change notification settings - Fork 36
/
ada.js
31 lines (30 loc) · 1.18 KB
/
ada.js
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
// @ts-nocheck
ada.displayName = 'ada'
ada.aliases = []
/** @type {import('../core.js').Syntax} */
export default function ada(Prism) {
Prism.languages.ada = {
comment: /--.*/,
string: /"(?:""|[^"\r\f\n])*"/,
number: [
{
pattern:
/\b\d(?:_?\d)*#[\dA-F](?:_?[\dA-F])*(?:\.[\dA-F](?:_?[\dA-F])*)?#(?:E[+-]?\d(?:_?\d)*)?/i
},
{
pattern: /\b\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:E[+-]?\d(?:_?\d)*)?\b/i
}
],
attribute: {
pattern: /\b'\w+/,
alias: 'attr-name'
},
keyword:
/\b(?:abort|abs|abstract|accept|access|aliased|all|and|array|at|begin|body|case|constant|declare|delay|delta|digits|do|else|elsif|end|entry|exception|exit|for|function|generic|goto|if|in|interface|is|limited|loop|mod|new|not|null|of|or|others|out|overriding|package|pragma|private|procedure|protected|raise|range|record|rem|renames|requeue|return|reverse|select|separate|some|subtype|synchronized|tagged|task|terminate|then|type|until|use|when|while|with|xor)\b/i,
boolean: /\b(?:false|true)\b/i,
operator: /<[=>]?|>=?|=>?|:=|\/=?|\*\*?|[&+-]/,
punctuation: /\.\.?|[,;():]/,
char: /'.'/,
variable: /\b[a-z](?:\w)*\b/i
}
}