aboutsummaryrefslogtreecommitdiffstats
path: root/public/prism/prism-bnf.js
blob: 873c277a83148fc8f4bd3c0bd1180b8d8b408b44 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Prism.languages.bnf = {
  string: {
    pattern: /"[^\r\n"]*"|'[^\r\n']*'/,
  },
  definition: {
    pattern: /<[^<>\r\n\t]+>(?=\s*::=)/,
    alias: ['rule', 'keyword'],
    inside: {
      punctuation: /^<|>$/,
    },
  },
  rule: {
    pattern: /<[^<>\r\n\t]+>/,
    inside: {
      punctuation: /^<|>$/,
    },
  },
  operator: /::=|[|()[\]{}*+?]|\.{3}/,
};

Prism.languages.rbnf = Prism.languages.bnf;
ern|final|for|from|function|if|implements|import|in|inline|interface|macro|new|null|operator|overload|override|package|private|public|return|static|super|switch|throw|to|try|typedef|untyped|using|var|while)(?!\.)\b/, function: { pattern: /\b[a-z_]\w*(?=\s*(?:<[^<>]*>\s*)?\()/i, greedy: !0 }, operator: /\.{3}|\+\+|--|&&|\|\||->|=>|(?:<<?|>{1,3}|[-+*/%!=&|^])=?|[?:~]/, })), Prism.languages.insertBefore('haxe', 'string', { 'string-interpolation': { pattern: /'(?:[^'\\]|\\[\s\S])*'/, greedy: !0, inside: { interpolation: { pattern: /(^|[^\\])\$(?:\w+|\{[^{}]+\})/, lookbehind: !0, inside: { 'interpolation-punctuation': { pattern: /^\$\{?|\}$/, alias: 'punctuation', }, expression: { pattern: /[\s\S]+/, inside: Prism.languages.haxe }, }, }, string: /[\s\S]+/, }, }, }), Prism.languages.insertBefore('haxe', 'class-name', { regex: { pattern: /~\/(?:[^\/\\\r\n]|\\.)+\/[a-z]*/, greedy: !0, inside: { 'regex-flags': /\b[a-z]+$/, 'regex-source': { pattern: /^(~\/)[\s\S]+(?=\/$)/, lookbehind: !0, alias: 'language-regex', inside: Prism.languages.regex, }, 'regex-delimiter': /^~\/|\/$/, }, }, }), Prism.languages.insertBefore('haxe', 'keyword', { preprocessor: { pattern: /#(?:else|elseif|end|if)\b.*/, alias: 'property' }, metadata: { pattern: /@:?[\w.]+/, alias: 'symbol' }, reification: { pattern: /\$(?:\w+|(?=\{))/, alias: 'important' }, });