aboutsummaryrefslogtreecommitdiffstats
path: root/public/prism/prism-coffeescript.min.js
blob: c5b53d6eb7b9386293eb3e65263dc534eec30d7d (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
!(function (e) {
  var t = /#(?!\{).+/,
    n = { pattern: /#\{[^}]+\}/, alias: 'variable' };
  (e.languages.coffeescript = e.languages.extend('javascript', {
    comment: t,
    string: [
      { pattern: /'(?:\\[\s\S]|[^\\'])*'/, greedy: !0 },
      {
        pattern: /"(?:\\[\s\S]|[^\\"])*"/,
        greedy: !0,
        inside: { interpolation: n },
      },
    ],
    keyword:
      /\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,
    'class-member': { pattern: /@(?!\d)\w+/, alias: 'variable' },
  })),
    e.languages.insertBefore('coffeescript', 'comment', {
      'multiline-comment': { pattern: /###[\s\S]+?###/, alias: 'comment' },
      'block-regex': {
        pattern: /\/{3}[\s\S]*?\/{3}/,
        alias: 'regex',
        inside: { comment: t, interpolation: n },
      },
    }),
    e.languages.insertBefore('coffeescript', 'string', {
      'inline-javascript': {
        pattern: /`(?:\\[\s\S]|[^\\`])*`/,
        inside: {
          delimiter: { pattern: /^`|`$/, alias: 'punctuation' },
          script: {
            pattern: /[\s\S]+/,
            alias: 'language-javascript',
            inside: e.languages.javascript,
          },
        },
      },
      'multiline-string': [
        { pattern: /'''[\s\S]*?'''/, greedy: !0, alias: 'string' },
        {
          pattern: /"""[\s\S]*?"""/,
          greedy: !0,
          alias: 'string',
          inside: { interpolation: n },
        },
      ],
    }),
    e.languages.insertBefore('coffeescript', 'keyword', {
      property: /(?!\d)\w+(?=\s*:(?!:))/,
    }),
    delete e.languages.coffeescript['template-string'],
    (e.languages.coffee = e.languages.coffeescript);
})(Prism);