aboutsummaryrefslogtreecommitdiffstats
path: root/public/prism/prism-idris.js
blob: bbe7806c781924bc04eb8bc6e08dd6b299ac971f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Prism.languages.idris = Prism.languages.extend('haskell', {
  comment: {
    pattern: /(?:(?:--|\|\|\|).*$|\{-[\s\S]*?-\})/m,
  },
  keyword:
    /\b(?:Type|case|class|codata|constructor|corecord|data|do|dsl|else|export|if|implementation|implicit|import|impossible|in|infix|infixl|infixr|instance|interface|let|module|mutual|namespace|of|parameters|partial|postulate|private|proof|public|quoteGoal|record|rewrite|syntax|then|total|using|where|with)\b/,
  builtin: undefined,
});

Prism.languages.insertBefore('idris', 'keyword', {
  'import-statement': {
    pattern: /(^\s*import\s+)(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*/m,
    lookbehind: true,
    inside: {
      punctuation: /\./,
    },
  },
});

Prism.languages.idr = Prism.languages.idris;