{"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-bfb0243e7ccb4fe67e7d.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":""}