summaryrefslogtreecommitdiffstats
path: root/public/prism/prism-agda.js
blob: 2d8d4a1c2b45eff7dc2a250b98b4820c74a331f8 (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
(function (Prism) {
  Prism.languages.agda = {
    comment: /\{-[\s\S]*?(?:-\}|$)|--.*/,
    string: {
      pattern: /"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,
      greedy: true,
    },
    punctuation: /[(){}⦃⦄.;@]/,
    'class-name': {
      pattern: /((?:data|record) +)\S+/,
      lookbehind: true,
    },
    function: {
      pattern: /(^[ \t]*)(?!\s)[^:\r\n]+(?=:)/m,
      lookbehind: true,
    },
    operator: {
      pattern: /(^\s*|\s)(?:[=|:∀→λ\\?_]|->)(?=\s)/,
      lookbehind: true,
    },
    keyword:
      /\b(?:Set|abstract|constructor|data|eta-equality|field|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|quoteContext|quoteGoal|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)\b/,
  };
})(Prism);