aboutsummaryrefslogtreecommitdiffstats
path: root/public/prism/prism-cooklang.min.js
blob: dfb80d6c3340b72db27943f07e59203c774fdc1a (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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
!(function (e) {
  var a = '(?:(?!\\s)[\\d$+<=a-zA-Z\\x80-\\uFFFF])+',
    t = '[^{}@#]+\\{[^}#@]*\\}';
  e.languages.cooklang = {
    comment: { pattern: /\[-[\s\S]*?-\]|--.*/, greedy: !0 },
    meta: {
      pattern: />>.*:.*/,
      inside: {
        property: { pattern: /(>>\s*)[^\s:](?:[^:]*[^\s:])?/, lookbehind: !0 },
      },
    },
    'cookware-group': {
      pattern: new RegExp('#(?:' + t + '|' + a + ')'),
      inside: {
        cookware: {
          pattern: new RegExp('(^#)(?:[^{}@#]+)'),
          lookbehind: !0,
          alias: 'variable',
        },
        'cookware-keyword': { pattern: /^#/, alias: 'keyword' },
        'quantity-group': {
          pattern: new RegExp(/\{[^{}@#]*\}/),
          inside: {
            quantity: {
              pattern: new RegExp('(^\\{)[^{}@#]+'),
              lookbehind: !0,
              alias: 'number',
            },
            punctuation: /[{}]/,
          },
        },
      },
    },
    'ingredient-group': {
      pattern: new RegExp('@(?:' + t + '|' + a + ')'),
      inside: {
        ingredient: {
          pattern: new RegExp('(^@)(?:[^{}@#]+)'),
          lookbehind: !0,
          alias: 'variable',
        },
        'ingredient-keyword': { pattern: /^@/, alias: 'keyword' },
        'amount-group': {
          pattern: /\{[^{}]*\}/,
          inside: {
            amount: {
              pattern: /([\{|])[^{}|*%]+/,
              lookbehind: !0,
              alias: 'number',
            },
            unit: { pattern: /(%)[^}]+/, lookbehind: !0, alias: 'symbol' },
            'servings-scaler': { pattern: /\*/, alias: 'operator' },
            'servings-alternative-separator': {
              pattern: /\|/,
              alias: 'operator',
            },
            'unit-separator': {
              pattern: /(?:%|(\*)%)/,
              lookbehind: !0,
              alias: 'operator',
            },
            punctuation: /[{}]/,
          },
        },
      },
    },
    'timer-group': {
      pattern: /~(?!\s)[^@#~{}]*\{[^{}]*\}/,
      inside: {
        timer: { pattern: /(^~)[^{]+/, lookbehind: !0, alias: 'variable' },
        'duration-group': {
          pattern: /\{[^{}]*\}/,
          inside: {
            punctuation: /[{}]/,
            unit: {
              pattern: new RegExp('(%\\s*)(?:h|hours|hrs|m|min|minutes)\\b'),
              lookbehind: !0,
              alias: 'symbol',
            },
            operator: /%/,
            duration: { pattern: /\d+/, alias: 'number' },
          },
        },
        'timer-keyword': { pattern: /^~/, alias: 'keyword' },
      },
    },
  };
})(Prism);