{"version":3,"sources":["webpack:///./node_modules/highlight.js/lib/languages/haskell.js"],"names":["module","exports","hljs","COMMENT","variants","contains","PRAGMA","className","begin","end","PREPROCESSOR","CONSTRUCTOR","relevance","LIST","illegal","inherit","TITLE_MODE","name","aliases","keywords","beginKeywords","C_NUMBER_MODE","QUOTE_STRING_MODE"],"mappings":"mGA4KAA,EAAOC,QApKP,SAAiBC,GACf,IAAMC,EAAU,CACdC,SAAU,CACRF,EAAKC,QAAQ,KAAM,KACnBD,EAAKC,QACH,MACA,MACA,CACEE,SAAU,CAAC,YAMbC,EAAS,CACbC,UAAW,OACXC,MAAO,OACPC,IAAK,QAGDC,EAAe,CACnBH,UAAW,OACXC,MAAO,KACPC,IAAK,KAGDE,EAAc,CAClBJ,UAAW,OACXC,MAAO,kBACPI,UAAW,GAGPC,EAAO,CACXL,MAAO,MACPC,IAAK,MACLK,QAAS,IACTT,SAAU,CACRC,EACAI,EACA,CACEH,UAAW,OACXC,MAAO,0CAETN,EAAKa,QAAQb,EAAKc,WAAY,CAC5BR,MAAO,kBAETL,IAUJ,MAAO,CACLc,KAAM,UACNC,QAAS,CAAC,MACVC,SACE,wOAIFd,SAAU,CAER,CACEe,cAAe,SACfX,IAAK,QACLU,SAAU,eACVd,SAAU,CACRQ,EACAV,GAEFW,QAAS,YAEX,CACEN,MAAO,eACPC,IAAK,IACLU,SAAU,6BACVd,SAAU,CACRQ,EACAV,GAEFW,QAAS,YAEX,CACEP,UAAW,QACXC,MAAO,8BACPC,IAAK,QACLU,SAAU,8BACVd,SAAU,CACRM,EACAE,EACAV,IAGJ,CACEI,UAAW,QACXC,MAAO,0BACPC,IAAK,IACLU,SAAU,oCACVd,SAAU,CACRC,EACAK,EACAE,EAvDO,CACbL,MAAO,KACPC,IAAK,KACLJ,SAAUQ,EAAKR,UAsDTF,IAGJ,CACEiB,cAAe,UACfX,IAAK,IACLJ,SAAU,CACRM,EACAE,EACAV,IAGJ,CACEiB,cAAe,sBACfX,IAAK,IACLJ,SAAU,CACRH,EAAKmB,cACLlB,IAGJ,CACEK,MAAO,gBACPC,IAAK,IACLU,SAAU,uEAEVd,SAAU,CACRM,EACAT,EAAKoB,kBACLnB,IAGJ,CACEI,UAAW,OACXC,MAAO,kCACPC,IAAK,KAGPH,EACAI,EAKAR,EAAKoB,kBACLpB,EAAKmB,cACLV,EACAT,EAAKa,QAAQb,EAAKc,WAAY,CAC5BR,MAAO,mBAETL,EACA,CACEK,MAAO","file":"highlight/haskell.js?v=75557fcfec652f10eafb","sourcesContent":["/*\nLanguage: Haskell\nAuthor: Jeremy Hull \nContributors: Zena Treep \nWebsite: https://www.haskell.org\nCategory: functional\n*/\n\nfunction haskell(hljs) {\n const COMMENT = {\n variants: [\n hljs.COMMENT('--', '$'),\n hljs.COMMENT(\n /\\{-/,\n /-\\}/,\n {\n contains: ['self']\n }\n )\n ]\n };\n\n const PRAGMA = {\n className: 'meta',\n begin: /\\{-#/,\n end: /#-\\}/\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: '^#',\n end: '$'\n };\n\n const CONSTRUCTOR = {\n className: 'type',\n begin: '\\\\b[A-Z][\\\\w\\']*', // TODO: other constructors (build-in, infix).\n relevance: 0\n };\n\n const LIST = {\n begin: '\\\\(',\n end: '\\\\)',\n illegal: '\"',\n contains: [\n PRAGMA,\n PREPROCESSOR,\n {\n className: 'type',\n begin: '\\\\b[A-Z][\\\\w]*(\\\\((\\\\.\\\\.|,|\\\\w+)\\\\))?'\n },\n hljs.inherit(hljs.TITLE_MODE, {\n begin: '[_a-z][\\\\w\\']*'\n }),\n COMMENT\n ]\n };\n\n const RECORD = {\n begin: /\\{/,\n end: /\\}/,\n contains: LIST.contains\n };\n\n return {\n name: 'Haskell',\n aliases: ['hs'],\n keywords:\n 'let in if then else case of where do module import hiding ' +\n 'qualified type data newtype deriving class instance as default ' +\n 'infix infixl infixr foreign export ccall stdcall cplusplus ' +\n 'jvm dotnet safe unsafe family forall mdo proc rec',\n contains: [\n // Top-level constructions.\n {\n beginKeywords: 'module',\n end: 'where',\n keywords: 'module where',\n contains: [\n LIST,\n COMMENT\n ],\n illegal: '\\\\W\\\\.|;'\n },\n {\n begin: '\\\\bimport\\\\b',\n end: '$',\n keywords: 'import qualified as hiding',\n contains: [\n LIST,\n COMMENT\n ],\n illegal: '\\\\W\\\\.|;'\n },\n {\n className: 'class',\n begin: '^(\\\\s*)?(class|instance)\\\\b',\n end: 'where',\n keywords: 'class family instance where',\n contains: [\n CONSTRUCTOR,\n LIST,\n COMMENT\n ]\n },\n {\n className: 'class',\n begin: '\\\\b(data|(new)?type)\\\\b',\n end: '$',\n keywords: 'data family type newtype deriving',\n contains: [\n PRAGMA,\n CONSTRUCTOR,\n LIST,\n RECORD,\n COMMENT\n ]\n },\n {\n beginKeywords: 'default',\n end: '$',\n contains: [\n CONSTRUCTOR,\n LIST,\n COMMENT\n ]\n },\n {\n beginKeywords: 'infix infixl infixr',\n end: '$',\n contains: [\n hljs.C_NUMBER_MODE,\n COMMENT\n ]\n },\n {\n begin: '\\\\bforeign\\\\b',\n end: '$',\n keywords: 'foreign import export ccall stdcall cplusplus jvm ' +\n 'dotnet safe unsafe',\n contains: [\n CONSTRUCTOR,\n hljs.QUOTE_STRING_MODE,\n COMMENT\n ]\n },\n {\n className: 'meta',\n begin: '#!\\\\/usr\\\\/bin\\\\/env\\ runhaskell',\n end: '$'\n },\n // \"Whitespaces\".\n PRAGMA,\n PREPROCESSOR,\n\n // Literals and names.\n\n // TODO: characters.\n hljs.QUOTE_STRING_MODE,\n hljs.C_NUMBER_MODE,\n CONSTRUCTOR,\n hljs.inherit(hljs.TITLE_MODE, {\n begin: '^[_a-z][\\\\w\\']*'\n }),\n COMMENT,\n { // No markup, relevance booster\n begin: '->|<-'\n }\n ]\n };\n}\n\nmodule.exports = haskell;\n"],"sourceRoot":""}