summaryrefslogtreecommitdiffstats
path: root/public/prism/prism-abnf.min.js
blob: 49316c0efbd1906046c314804089a7bc4435aa3c (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
!(function (n) {
  var i =
    '(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)';
  Prism.languages.abnf = {
    comment: /;.*/,
    string: {
      pattern: /(?:%[is])?"[^"\n\r]*"/,
      greedy: !0,
      inside: { punctuation: /^%[is]/ },
    },
    range: {
      pattern: /%(?:b[01]+-[01]+|d\d+-\d+|x[A-F\d]+-[A-F\d]+)/i,
      alias: 'number',
    },
    terminal: {
      pattern:
        /%(?:b[01]+(?:\.[01]+)*|d\d+(?:\.\d+)*|x[A-F\d]+(?:\.[A-F\d]+)*)/i,
      alias: 'number',
    },
    repetition: {
      pattern: /(^|[^\w-])(?:\d*\*\d*|\d+)/,
      lookbehind: !0,
      alias: 'operator',
    },
    definition: {
      pattern: /(^[ \t]*)(?:[a-z][\w-]*|<[^<>\r\n]*>)(?=\s*=)/m,
      lookbehind: !0,
      alias: 'keyword',
      inside: { punctuation: /<|>/ },
    },
    'core-rule': {
      pattern: RegExp('(?:(^|[^<\\w-])' + i + '|<' + i + '>)(?![\\w-])', 'i'),
      lookbehind: !0,
      alias: ['rule', 'constant'],
      inside: { punctuation: /<|>/ },
    },
    rule: {
      pattern: /(^|[^<\w-])[a-z][\w-]*|<[^<>\r\n]*>/i,
      lookbehind: !0,
      inside: { punctuation: /<|>/ },
    },
    operator: /=\/?|\//,
    punctuation: /[()\[\]]/,
  };
})();