aboutsummaryrefslogtreecommitdiffstats
path: root/public/prism/prism-apex.min.js
blob: 3d9d7bea446e4f9a0edceed0f38e81c9ecb45ea9 (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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
!(function (e) {
  var t =
      /\b(?:(?:after|before)(?=\s+[a-z])|abstract|activate|and|any|array|as|asc|autonomous|begin|bigdecimal|blob|boolean|break|bulk|by|byte|case|cast|catch|char|class|collect|commit|const|continue|currency|date|datetime|decimal|default|delete|desc|do|double|else|end|enum|exception|exit|export|extends|final|finally|float|for|from|get(?=\s*[{};])|global|goto|group|having|hint|if|implements|import|in|inner|insert|instanceof|int|integer|interface|into|join|like|limit|list|long|loop|map|merge|new|not|null|nulls|number|object|of|on|or|outer|override|package|parallel|pragma|private|protected|public|retrieve|return|rollback|select|set|short|sObject|sort|static|string|super|switch|synchronized|system|testmethod|then|this|throw|time|transaction|transient|trigger|try|undelete|update|upsert|using|virtual|void|webservice|when|where|while|(?:inherited|with|without)\s+sharing)\b/i,
    n =
      '\\b(?:(?=[a-z_]\\w*\\s*[<\\[])|(?!<keyword>))[A-Z_]\\w*(?:\\s*\\.\\s*[A-Z_]\\w*)*\\b(?:\\s*(?:\\[\\s*\\]|<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>))*'.replace(
        /<keyword>/g,
        function () {
          return t.source;
        }
      );
  function i(e) {
    return RegExp(
      e.replace(/<CLASS-NAME>/g, function () {
        return n;
      }),
      'i'
    );
  }
  var a = { keyword: t, punctuation: /[()\[\]{};,:.<>]/ };
  e.languages.apex = {
    comment: e.languages.clike.comment,
    string: e.languages.clike.string,
    sql: {
      pattern: /((?:[=,({:]|\breturn)\s*)\[[^\[\]]*\]/i,
      lookbehind: !0,
      greedy: !0,
      alias: 'language-sql',
      inside: e.languages.sql,
    },
    annotation: { pattern: /@\w+\b/, alias: 'punctuation' },
    'class-name': [
      {
        pattern: i(
          '(\\b(?:class|enum|extends|implements|instanceof|interface|new|trigger\\s+\\w+\\s+on)\\s+)<CLASS-NAME>'
        ),
        lookbehind: !0,
        inside: a,
      },
      {
        pattern: i('(\\(\\s*)<CLASS-NAME>(?=\\s*\\)\\s*[\\w(])'),
        lookbehind: !0,
        inside: a,
      },
      { pattern: i('<CLASS-NAME>(?=\\s*\\w+\\s*[;=,(){:])'), inside: a },
    ],
    trigger: {
      pattern: /(\btrigger\s+)\w+\b/i,
      lookbehind: !0,
      alias: 'class-name',
    },
    keyword: t,
    function: /\b[a-z_]\w*(?=\s*\()/i,
    boolean: /\b(?:false|true)\b/i,
    number: /(?:\B\.\d+|\b\d+(?:\.\d+|L)?)\b/i,
    operator: /[!=](?:==?)?|\?\.?|&&|\|\||--|\+\+|[-+*/^&|]=?|:|<<?=?|>{1,3}=?/,
    punctuation: /[()\[\]{};,.]/,
  };
})(Prism);