summaryrefslogtreecommitdiffstats
path: root/public/prism/prism-brainfuck.js
blob: 0277e797dcd92a925b34df4231031e9b4594e85c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Prism.languages.brainfuck = {
  pointer: {
    pattern: /<|>/,
    alias: 'keyword',
  },
  increment: {
    pattern: /\+/,
    alias: 'inserted',
  },
  decrement: {
    pattern: /-/,
    alias: 'deleted',
  },
  branching: {
    pattern: /\[|\]/,
    alias: 'important',
  },
  operator: /[.,]/,
  comment: /\S+/,
};
> operator: /=[>=]?|!=?|<=?|>=?|&&|\|\|?|\b(?:and|not|or)\b/, variable: { pattern: /\b[a-z]\w*(?:\s*\.\s*(?:\d+|\$?[a-z]\w*))*\b/i, }, }); Prism.languages.insertBefore('tt2', 'keyword', { delimiter: { pattern: /^(?:\[%|%%)-?|-?%\]$/, alias: 'punctuation', }, }); Prism.languages.insertBefore('tt2', 'string', { 'single-quoted-string': { pattern: /'[^\\']*(?:\\[\s\S][^\\']*)*'/, greedy: true, alias: 'string', }, 'double-quoted-string': { pattern: /"[^\\"]*(?:\\[\s\S][^\\"]*)*"/, greedy: true, alias: 'string', inside: { variable: { pattern: /\$(?:[a-z]\w*(?:\.(?:\d+|\$?[a-z]\w*))*)/i, }, }, }, }); // The different types of TT2 strings "replace" the C-like standard string delete Prism.languages.tt2.string; Prism.hooks.add('before-tokenize', function (env) { var tt2Pattern = /\[%[\s\S]+?%\]/g; Prism.languages['markup-templating'].buildPlaceholders( env, 'tt2', tt2Pattern ); }); Prism.hooks.add('after-tokenize', function (env) { Prism.languages['markup-templating'].tokenizePlaceholders(env, 'tt2'); }); })(Prism);