aboutsummaryrefslogtreecommitdiffstats
path: root/public/prism/prism-mata.min.js
blob: 528cb5ac0661c1b571e0ab4236922401816938cf (plain)
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
!(function (t) {
  var e =
    '\\bvoid\\b|<org>|\\b(?:complex|numeric|pointer(?:\\s*\\([^()]*\\))?|real|string|(?:class|struct)\\s+\\w+|transmorphic)(?:\\s*<org>)?'.replace(
      /<org>/g,
      '\\b(?:(?:col|row)?vector|matrix|scalar)\\b'
    );
  t.languages.mata = {
    comment: {
      pattern:
        /\/\/.*|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\//,
      greedy: !0,
    },
    string: { pattern: /"[^"\r\n]*"|[‘`']".*?"[’`']/, greedy: !0 },
    'class-name': {
      pattern: /(\b(?:class|extends|struct)\s+)\w+(?=\s*(?:\{|\bextends\b))/,
      lookbehind: !0,
    },
    type: {
      pattern: RegExp(e),
      alias: 'class-name',
      inside: {
        punctuation: /[()]/,
        keyword: /\b(?:class|function|struct|void)\b/,
      },
    },
    keyword:
      /\b(?:break|class|continue|do|else|end|extends|external|final|for|function|goto|if|pragma|private|protected|public|return|static|struct|unset|unused|version|virtual|while)\b/,
    constant: /\bNULL\b/,
    number: {
      pattern:
        /(^|[^\w.])(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|\d[a-f0-9]*(?:\.[a-f0-9]+)?x[+-]?\d+)i?(?![\w.])/i,
      lookbehind: !0,
    },
    missing: {
      pattern: /(^|[^\w.])(?:\.[a-z]?)(?![\w.])/,
      lookbehind: !0,
      alias: 'symbol',
    },
    function: /\b[a-z_]\w*(?=\s*\()/i,
    operator: /\.\.|\+\+|--|&&|\|\||:?(?:[!=<>]=|[+\-*/^<>&|:])|[!?=\\#’`']/,
    punctuation: /[()[\]{},;.]/,
  };
})(Prism);