Prism.languages.lolcode = { comment: [/\bOBTW\s[\s\S]*?\sTLDR\b/, /\bBTW.+/], string: { pattern: /"(?::.|[^":])*"/, inside: { variable: /:\{[^}]+\}/, symbol: [/:\([a-f\d]+\)/i, /:\[[^\]]+\]/, /:[)>o":]/], }, greedy: !0, }, number: /(?:\B-)?(?:\b\d+(?:\.\d*)?|\B\.\d+)/, symbol: { pattern: /(^|\s)(?:A )?(?:BUKKIT|NOOB|NUMBAR|NUMBR|TROOF|YARN)(?=\s|,|$)/, lookbehind: !0, inside: { keyword: /A(?=\s)/ }, }, label: { pattern: /((?:^|\s)(?:IM IN YR|IM OUTTA YR) )[a-zA-Z]\w*/, lookbehind: !0, alias: 'string', }, function: { pattern: /((?:^|\s)(?:HOW IZ I|I IZ|IZ) )[a-zA-Z]\w*/, lookbehind: !0, }, keyword: [ { pattern: /(^|\s)(?:AN|FOUND YR|GIMMEH|GTFO|HAI|HAS A|HOW IZ I|I HAS A|I IZ|IF U SAY SO|IM IN YR|IM OUTTA YR|IS NOW(?: A)?|ITZ(?: A)?|IZ|KTHX|KTHXBYE|LIEK(?: A)?|MAEK|MEBBE|MKAY|NERFIN|NO WAI|O HAI IM|O RLY\?|OIC|OMG|OMGWTF|R|SMOOSH|SRS|TIL|UPPIN|VISIBLE|WILE|WTF\?|YA RLY|YR)(?=\s|,|$)/, lookbehind: !0, }, /'Z(?=\s|,|$)/, ], boolean: { pattern: /(^|\s)(?:FAIL|WIN)(?=\s|,|$)/, lookbehind: !0 }, variable: { pattern: /(^|\s)IT(?=\s|,|$)/, lookbehind: !0 }, operator: { pattern: /(^|\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:ALL|ANY|BIGGR|BOTH|DIFF|EITHER|MOD|PRODUKT|QUOSHUNT|SMALLR|SUM|WON) OF)(?=\s|,|$)/, lookbehind: !0, }, punctuation: /\.{3}|…|,|!/, }; a3c0a172d509207f41f5c3'>refslogtreecommitdiffstats
path: root/public/prism/prism-erb.js
blob: 9b406dc7cb081f28045f8ab171c47c8d6e30d4b9 (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
(function (Prism) {
  Prism.languages.erb = {
    delimiter: {
      pattern: /^(\s*)<%=?|%>(?=\s*$)/,
      lookbehind: true,
      alias: 'punctuation',
    },
    ruby: {
      pattern: /\s*\S[\s\S]*/,
      alias: 'language-ruby',
      inside: Prism.languages.ruby,
    },
  };

  Prism.hooks.add('before-tokenize', function (env) {
    var erbPattern =
      /<%=?(?:[^\r\n]|[\r\n](?!=begin)|[\r\n]=begin\s(?:[^\r\n]|[\r\n](?!=end))*[\r\n]=end)+?%>/g;
    Prism.languages['markup-templating'].buildPlaceholders(
      env,
      'erb',
      erbPattern
    );
  });

  Prism.hooks.add('after-tokenize', function (env) {
    Prism.languages['markup-templating'].tokenizePlaceholders(env, 'erb');
  });
})(Prism);