1 | hljs.registerLanguage("elm",(()=>{"use strict";return e=>{const n={
|
2 | variants:[e.COMMENT("--","$"),e.COMMENT(/\{-/,/-\}/,{contains:["self"]})]},i={
|
3 | className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},s={begin:"\\(",end:"\\)",
|
4 | illegal:'"',contains:[{className:"type",
|
5 | begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},n]};return{name:"Elm",
|
6 | keywords:"let in if then else case of where module import exposing type alias as infix infixl infixr port effect command subscription",
|
7 | contains:[{beginKeywords:"port effect module",end:"exposing",
|
8 | keywords:"port effect module where command subscription exposing",
|
9 | contains:[s,n],illegal:"\\W\\.|;"},{begin:"import",end:"$",
|
10 | keywords:"import as exposing",contains:[s,n],illegal:"\\W\\.|;"},{begin:"type",
|
11 | end:"$",keywords:"type alias",contains:[i,s,{begin:/\{/,end:/\}/,
|
12 | contains:s.contains},n]},{beginKeywords:"infix infixl infixr",end:"$",
|
13 | contains:[e.C_NUMBER_MODE,n]},{begin:"port",end:"$",keywords:"port",contains:[n]
|
14 | },{className:"string",begin:"'\\\\?.",end:"'",illegal:"."
|
15 | },e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,i,e.inherit(e.TITLE_MODE,{
|
16 | begin:"^[_a-z][\\w']*"}),n,{begin:"->|<-"}],illegal:/;/}}})()); |
\ | No newline at end of file |