blob: 2d529ed87d0efa6ed763c43fd6c88b337a7c1a47 [file] [log] [blame]
{"version":3,"sources":["webpack:///./node_modules/react-syntax-highlighter/node_modules/highlight.js/lib/languages/elixir.js"],"names":["module","exports","hljs","ELIXIR_IDENT_RE","ELIXIR_KEYWORDS","$pattern","keyword","SUBST","className","begin","end","keywords","NUMBER","relevance","LOWERCASE_SIGIL","contains","endsParent","BACKSLASH_ESCAPE","variants","UPCASE_SIGIL","STRING","FUNCTION","beginKeywords","inherit","TITLE_MODE","CLASS","ELIXIR_DEFAULT_CONTAINS","HASH_COMMENT_MODE","RE_STARTERS_RE","illegal","name"],"mappings":"8EA2LAA,EAAOC,QApLP,SAAgBC,GACd,IAAIC,EAAkB,oCAElBC,EAAkB,CACpBC,SAAUF,EACVG,QAAS,uMAEPC,EAAQ,CACVC,UAAW,QACXC,MAAO,OACPC,IAAK,IACLC,SAAUP,GAERQ,EAAS,CACXJ,UAAW,SACXC,MAAO,qGACPI,UAAW,GAGTC,EAAkB,CACpBN,UAAW,SACXC,MAAO,wBACPM,SAAU,CAAC,CACTC,YAAY,EACZD,SAAU,CAAC,CACTA,SAAU,CAACb,EAAKe,iBAAkBV,GAClCW,SAAU,CAAC,CACTT,MAAO,IACPC,IAAK,KACJ,CACDD,MAAO,IACPC,IAAK,KACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,IACPC,IAAK,WAKTS,EAAe,CACjBX,UAAW,SACXC,MAAO,wBACPM,SAAU,CAAC,CACTN,MAAO,IACPC,IAAK,KACJ,CACDD,MAAO,IACPC,IAAK,KACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,QAGLU,EAAS,CACXZ,UAAW,SACXO,SAAU,CAACb,EAAKe,iBAAkBV,GAClCW,SAAU,CAAC,CACTT,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,QACPC,IAAK,MACLK,SAAU,IACT,CACDN,MAAO,MACPC,IAAK,IACLK,SAAU,IACT,CACDN,MAAO,QACPC,IAAK,MACLK,SAAU,IACT,CACDN,MAAO,MACPC,IAAK,IACLK,SAAU,IACT,CACDN,MAAO,IACPC,IAAK,KACJ,CACDD,MAAO,IACPC,IAAK,OAGLW,EAAW,CACbb,UAAW,WACXc,cAAe,oBACfZ,IAAK,OAELK,SAAU,CAACb,EAAKqB,QAAQrB,EAAKsB,WAAY,CACvCf,MAAON,EACPa,YAAY,MAGZS,EAAQvB,EAAKqB,QAAQF,EAAU,CACjCb,UAAW,QACXc,cAAe,0CACfZ,IAAK,eAEHgB,EAA0B,CAACN,EAAQD,EAAcL,EAAiBZ,EAAKyB,kBAAmBF,EAAOJ,EAAU,CAC7GZ,MAAO,MACN,CACDD,UAAW,SACXC,MAAO,cACPM,SAAU,CAACK,EAAQ,CACjBX,MAvImB,uFAyIrBI,UAAW,GACV,CACDL,UAAW,SACXC,MAAON,EAAkB,SACzBU,UAAW,GACVD,EAAQ,CACTJ,UAAW,WACXC,MAAO,kCACN,CACDA,MAAO,MACN,CAEDA,MAAO,IAAMP,EAAK0B,eAAiB,QACnCb,SAAU,CAACb,EAAKyB,kBAAmB,CAGjClB,MAAO,sBACPI,UAAW,EACXE,SAAU,CAACH,IACV,CACDJ,UAAW,SACXqB,QAAS,MACTd,SAAU,CAACb,EAAKe,iBAAkBV,GAClCW,SAAU,CAAC,CACTT,MAAO,IACPC,IAAK,WACJ,CACDD,MAAO,QACPC,IAAK,gBAGTG,UAAW,IAGb,OADAN,EAAMQ,SAAWW,EACV,CACLI,KAAM,SACNnB,SAAUP,EACVW,SAAUW","file":"react-syntax-highlighter_languages_highlight_elixir-78d3465263ef14718bd1.js","sourcesContent":["/*\nLanguage: Elixir\nAuthor: Josh Adams <josh@isotope11.com>\nDescription: language definition for Elixir source code files (.ex and .exs). Based on ruby language support.\nCategory: functional\nWebsite: https://elixir-lang.org\n*/\nfunction elixir(hljs) {\n var ELIXIR_IDENT_RE = '[a-zA-Z_][a-zA-Z0-9_.]*(\\\\!|\\\\?)?';\n var ELIXIR_METHOD_RE = '[a-zA-Z_]\\\\w*[!?=]?|[-+~]\\\\@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\]=?';\n var ELIXIR_KEYWORDS = {\n $pattern: ELIXIR_IDENT_RE,\n keyword: 'and false then defined module in return redo retry end for true self when ' + 'next until do begin unless nil break not case cond alias while ensure or ' + 'include use alias fn quote require import with|0'\n };\n var SUBST = {\n className: 'subst',\n begin: '#\\\\{',\n end: '}',\n keywords: ELIXIR_KEYWORDS\n };\n var NUMBER = {\n className: 'number',\n begin: '(\\\\b0o[0-7_]+)|(\\\\b0b[01_]+)|(\\\\b0x[0-9a-fA-F_]+)|(-?\\\\b[1-9][0-9_]*(.[0-9_]+([eE][-+]?[0-9]+)?)?)',\n relevance: 0\n };\n var SIGIL_DELIMITERS = '[/|([{<\"\\']';\n var LOWERCASE_SIGIL = {\n className: 'string',\n begin: '~[a-z]' + '(?=' + SIGIL_DELIMITERS + ')',\n contains: [{\n endsParent: true,\n contains: [{\n contains: [hljs.BACKSLASH_ESCAPE, SUBST],\n variants: [{\n begin: /\"/,\n end: /\"/\n }, {\n begin: /'/,\n end: /'/\n }, {\n begin: /\\//,\n end: /\\//\n }, {\n begin: /\\|/,\n end: /\\|/\n }, {\n begin: /\\(/,\n end: /\\)/\n }, {\n begin: /\\[/,\n end: /\\]/\n }, {\n begin: /\\{/,\n end: /\\}/\n }, {\n begin: /</,\n end: />/\n }]\n }]\n }]\n };\n var UPCASE_SIGIL = {\n className: 'string',\n begin: '~[A-Z]' + '(?=' + SIGIL_DELIMITERS + ')',\n contains: [{\n begin: /\"/,\n end: /\"/\n }, {\n begin: /'/,\n end: /'/\n }, {\n begin: /\\//,\n end: /\\//\n }, {\n begin: /\\|/,\n end: /\\|/\n }, {\n begin: /\\(/,\n end: /\\)/\n }, {\n begin: /\\[/,\n end: /\\]/\n }, {\n begin: /\\{/,\n end: /\\}/\n }, {\n begin: /\\</,\n end: /\\>/\n }]\n };\n var STRING = {\n className: 'string',\n contains: [hljs.BACKSLASH_ESCAPE, SUBST],\n variants: [{\n begin: /\"\"\"/,\n end: /\"\"\"/\n }, {\n begin: /'''/,\n end: /'''/\n }, {\n begin: /~S\"\"\"/,\n end: /\"\"\"/,\n contains: []\n }, {\n begin: /~S\"/,\n end: /\"/,\n contains: []\n }, {\n begin: /~S'''/,\n end: /'''/,\n contains: []\n }, {\n begin: /~S'/,\n end: /'/,\n contains: []\n }, {\n begin: /'/,\n end: /'/\n }, {\n begin: /\"/,\n end: /\"/\n }]\n };\n var FUNCTION = {\n className: 'function',\n beginKeywords: 'def defp defmacro',\n end: /\\B\\b/,\n // the mode is ended by the title\n contains: [hljs.inherit(hljs.TITLE_MODE, {\n begin: ELIXIR_IDENT_RE,\n endsParent: true\n })]\n };\n var CLASS = hljs.inherit(FUNCTION, {\n className: 'class',\n beginKeywords: 'defimpl defmodule defprotocol defrecord',\n end: /\\bdo\\b|$|;/\n });\n var ELIXIR_DEFAULT_CONTAINS = [STRING, UPCASE_SIGIL, LOWERCASE_SIGIL, hljs.HASH_COMMENT_MODE, CLASS, FUNCTION, {\n begin: '::'\n }, {\n className: 'symbol',\n begin: ':(?![\\\\s:])',\n contains: [STRING, {\n begin: ELIXIR_METHOD_RE\n }],\n relevance: 0\n }, {\n className: 'symbol',\n begin: ELIXIR_IDENT_RE + ':(?!:)',\n relevance: 0\n }, NUMBER, {\n className: 'variable',\n begin: '(\\\\$\\\\W)|((\\\\$|\\\\@\\\\@?)(\\\\w+))'\n }, {\n begin: '->'\n }, {\n // regexp container\n begin: '(' + hljs.RE_STARTERS_RE + ')\\\\s*',\n contains: [hljs.HASH_COMMENT_MODE, {\n // to prevent false regex triggers for the division function:\n // /:\n begin: /\\/: (?=\\d+\\s*[,\\]])/,\n relevance: 0,\n contains: [NUMBER]\n }, {\n className: 'regexp',\n illegal: '\\\\n',\n contains: [hljs.BACKSLASH_ESCAPE, SUBST],\n variants: [{\n begin: '/',\n end: '/[a-z]*'\n }, {\n begin: '%r\\\\[',\n end: '\\\\][a-z]*'\n }]\n }],\n relevance: 0\n }];\n SUBST.contains = ELIXIR_DEFAULT_CONTAINS;\n return {\n name: 'Elixir',\n keywords: ELIXIR_KEYWORDS,\n contains: ELIXIR_DEFAULT_CONTAINS\n };\n}\n\nmodule.exports = elixir;"],"sourceRoot":""}