CoolFace
Datasetpublic

basant307/AI_Governance_Project

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes48downloads
elm.js144 linesDownload Raw Back to languages
1/*2Language: Elm3Author: Janis Voigtlaender <janis.voigtlaender@gmail.com>4Website: https://elm-lang.org5Category: functional6*/7 8/** @type LanguageFn */9function elm(hljs) {10  const COMMENT = { variants: [11    hljs.COMMENT('--', '$'),12    hljs.COMMENT(13      /\{-/,14      /-\}/,15      { contains: [ 'self' ] }16    )17  ] };18 19  const CONSTRUCTOR = {20    className: 'type',21    begin: '\\b[A-Z][\\w\']*', // TODO: other constructors (built-in, infix).22    relevance: 023  };24 25  const LIST = {26    begin: '\\(',27    end: '\\)',28    illegal: '"',29    contains: [30      {31        className: 'type',32        begin: '\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?'33      },34      COMMENT35    ]36  };37 38  const RECORD = {39    begin: /\{/,40    end: /\}/,41    contains: LIST.contains42  };43 44  const CHARACTER = {45    className: 'string',46    begin: '\'\\\\?.',47    end: '\'',48    illegal: '.'49  };50 51  const KEYWORDS = [52    "let",53    "in",54    "if",55    "then",56    "else",57    "case",58    "of",59    "where",60    "module",61    "import",62    "exposing",63    "type",64    "alias",65    "as",66    "infix",67    "infixl",68    "infixr",69    "port",70    "effect",71    "command",72    "subscription"73  ];74 75  return {76    name: 'Elm',77    keywords: KEYWORDS,78    contains: [79 80      // Top-level constructions.81 82      {83        beginKeywords: 'port effect module',84        end: 'exposing',85        keywords: 'port effect module where command subscription exposing',86        contains: [87          LIST,88          COMMENT89        ],90        illegal: '\\W\\.|;'91      },92      {93        begin: 'import',94        end: '$',95        keywords: 'import as exposing',96        contains: [97          LIST,98          COMMENT99        ],100        illegal: '\\W\\.|;'101      },102      {103        begin: 'type',104        end: '$',105        keywords: 'type alias',106        contains: [107          CONSTRUCTOR,108          LIST,109          RECORD,110          COMMENT111        ]112      },113      {114        beginKeywords: 'infix infixl infixr',115        end: '$',116        contains: [117          hljs.C_NUMBER_MODE,118          COMMENT119        ]120      },121      {122        begin: 'port',123        end: '$',124        keywords: 'port',125        contains: [ COMMENT ]126      },127 128      // Literals and names.129      CHARACTER,130      hljs.QUOTE_STRING_MODE,131      hljs.C_NUMBER_MODE,132      CONSTRUCTOR,133      hljs.inherit(hljs.TITLE_MODE, { begin: '^[_a-z][\\w\']*' }),134      COMMENT,135 136      { // No markup, relevance booster137        begin: '->|<-' }138    ],139    illegal: /;/140  };141}142 143export { elm as default };144 
basant307/AI_Governance_Project · CoolFace