summaryrefslogtreecommitdiffstats
path: root/public/prism/prism-ada.min.js
blob: 89bd41f3f25a2c1dd2c2ce52499f32a1872da3e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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 },
  ],
  'attr-name': /\b'\w+/,
  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|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,
};
class="w"> Prism.languages.xeora = Prism.languages.extend('markup', { constant: { pattern: /\$(?:DomainContents|PageRenderDuration)\$/, inside: { punctuation: { pattern: /\$/, }, }, }, variable: { pattern: /\$@?(?:#+|[-+*~=^])?[\w.]+\$/, inside: { punctuation: { pattern: /[$.]/, }, operator: { pattern: /#+|[-+*~=^@]/, }, }, }, 'function-inline': { pattern: /\$F:[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\$/, inside: { variable: { pattern: /(?:[,|])@?(?:#+|[-+*~=^])?[\w.]+/, inside: { punctuation: { pattern: /[,.|]/, }, operator: { pattern: /#+|[-+*~=^@]/, }, }, }, punctuation: { pattern: /\$\w:|[$:?.,|]/, }, }, alias: 'function', }, 'function-block': { pattern: /\$XF:\{[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\}:XF\$/, inside: { punctuation: { pattern: /[$:{}?.,|]/, }, }, alias: 'function', }, 'directive-inline': { pattern: /\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\/\w.]+\$/, inside: { punctuation: { pattern: /\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/, inside: { tag: { pattern: /#\d/, }, }, }, }, alias: 'function', }, 'directive-block-open': { pattern: /\$\w+:\{|\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\w.]+:\{(?:![A-Z]+)?/, inside: { punctuation: { pattern: /\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/, inside: { tag: { pattern: /#\d/, }, }, }, attribute: { pattern: /![A-Z]+$/, inside: { punctuation: { pattern: /!/, }, }, alias: 'keyword', }, }, alias: 'function', }, 'directive-block-separator': { pattern: /\}:[-\w.]+:\{/, inside: { punctuation: { pattern: /[:{}]/, }, }, alias: 'function', }, 'directive-block-close': { pattern: /\}:[-\w.]+\$/, inside: { punctuation: { pattern: /[:{}$]/, }, }, alias: 'function', }, }); Prism.languages.insertBefore( 'inside', 'punctuation', { variable: Prism.languages.xeora['function-inline'].inside['variable'], }, Prism.languages.xeora['function-block'] ); Prism.languages.xeoracube = Prism.languages.xeora; })(Prism);