summaryrefslogtreecommitdiffstats
path: root/public/prism/prism-oz.js
blob: 46388be234b1db22f061124f91521772e502f3c7 (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
Prism.languages.oz = {
  comment: {
    pattern: /\/\*[\s\S]*?\*\/|%.*/,
    greedy: true,
  },
  string: {
    pattern: /"(?:[^"\\]|\\[\s\S])*"/,
    greedy: true,
  },
  atom: {
    pattern: /'(?:[^'\\]|\\[\s\S])*'/,
    greedy: true,
    alias: 'builtin',
  },
  keyword:
    /\$|\[\]|\b(?:_|at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)\b/,
  function: [
    /\b[a-z][A-Za-z\d]*(?=\()/,
    {
      pattern: /(\{)[A-Z][A-Za-z\d]*\b/,
      lookbehind: true,
    },
  ],
  number:
    /\b(?:0[bx][\da-f]+|\d+(?:\.\d*)?(?:e~?\d+)?)\b|&(?:[^\\]|\\(?:\d{3}|.))/i,
  variable: /`(?:[^`\\]|\\.)+`/,
  'attr-name': /\b\w+(?=[ \t]*:(?![:=]))/,
  operator:
    /:(?:=|::?)|<[-:=]?|=(?:=|<?:?)|>=?:?|\\=:?|!!?|[|#+\-*\/,~^@]|\b(?:andthen|div|mod|orelse)\b/,
  punctuation: /[\[\](){}.:;?]/,
};
class="o">: { pattern: /\b[A-Z]\w*(?=\()/i, alias: 'keyword' }, range: { pattern: /\$?\b(?:[A-Z]+\$?\d+:\$?[A-Z]+\$?\d+|[A-Z]+:\$?[A-Z]+|\d+:\$?\d+)\b/i, alias: 'property', inside: { operator: /:/, cell: /\$?[A-Z]+\$?\d+/i, column: /\$?[A-Z]+/i, row: /\$?\d+/, }, }, cell: { pattern: /\b[A-Z]+\d+\b|\$[A-Za-z]+\$?\d+\b|\b[A-Za-z]+\$\d+\b/, alias: 'property', }, number: /(?:\b\d+(?:\.\d+)?|\B\.\d+)(?:e[+-]?\d+)?\b/i, boolean: /\b(?:FALSE|TRUE)\b/i, operator: /[-+*/^%=&,]|<[=>]?|>=?/, punctuation: /[[\]();{}|]/, }), (Prism.languages.xlsx = Prism.languages.xls = Prism.languages['excel-formula']);