{"version":3,"file":"mercury-DO7uyYMB.chunk.mjs","sources":["../node_modules/highlight.js/lib/languages/mercury.js"],"sourcesContent":["/*\nLanguage: Mercury\nAuthor: mucaho \nDescription: Mercury is a logic/functional programming language which combines the clarity and expressiveness of declarative programming with advanced static analysis and error detection features.\nWebsite: https://www.mercurylang.org\nCategory: functional\n*/\n\nfunction mercury(hljs) {\n const KEYWORDS = {\n keyword:\n 'module use_module import_module include_module end_module initialise '\n + 'mutable initialize finalize finalise interface implementation pred '\n + 'mode func type inst solver any_pred any_func is semidet det nondet '\n + 'multi erroneous failure cc_nondet cc_multi typeclass instance where '\n + 'pragma promise external trace atomic or_else require_complete_switch '\n + 'require_det require_semidet require_multi require_nondet '\n + 'require_cc_multi require_cc_nondet require_erroneous require_failure',\n meta:\n // pragma\n 'inline no_inline type_spec source_file fact_table obsolete memo '\n + 'loop_check minimal_model terminates does_not_terminate '\n + 'check_termination promise_equivalent_clauses '\n // preprocessor\n + 'foreign_proc foreign_decl foreign_code foreign_type '\n + 'foreign_import_module foreign_export_enum foreign_export '\n + 'foreign_enum may_call_mercury will_not_call_mercury thread_safe '\n + 'not_thread_safe maybe_thread_safe promise_pure promise_semipure '\n + 'tabled_for_io local untrailed trailed attach_to_io_state '\n + 'can_pass_as_mercury_type stable will_not_throw_exception '\n + 'may_modify_trail will_not_modify_trail may_duplicate '\n + 'may_not_duplicate affects_liveness does_not_affect_liveness '\n + 'doesnt_affect_liveness no_sharing unknown_sharing sharing',\n built_in:\n 'some all not if then else true fail false try catch catch_any '\n + 'semidet_true semidet_false semidet_fail impure_true impure semipure'\n };\n\n const COMMENT = hljs.COMMENT('%', '$');\n\n const NUMCODE = {\n className: 'number',\n begin: \"0'.\\\\|0[box][0-9a-fA-F]*\"\n };\n\n const ATOM = hljs.inherit(hljs.APOS_STRING_MODE, { relevance: 0 });\n const STRING = hljs.inherit(hljs.QUOTE_STRING_MODE, { relevance: 0 });\n const STRING_FMT = {\n className: 'subst',\n begin: '\\\\\\\\[abfnrtv]\\\\|\\\\\\\\x[0-9a-fA-F]*\\\\\\\\\\\\|%[-+# *.0-9]*[dioxXucsfeEgGp]',\n relevance: 0\n };\n STRING.contains = STRING.contains.slice(); // we need our own copy of contains\n STRING.contains.push(STRING_FMT);\n\n const IMPLICATION = {\n className: 'built_in',\n variants: [\n { begin: '<=>' },\n {\n begin: '<=',\n relevance: 0\n },\n {\n begin: '=>',\n relevance: 0\n },\n { begin: '/\\\\\\\\' },\n { begin: '\\\\\\\\/' }\n ]\n };\n\n const HEAD_BODY_CONJUNCTION = {\n className: 'built_in',\n variants: [\n { begin: ':-\\\\|-->' },\n {\n begin: '=',\n relevance: 0\n }\n ]\n };\n\n return {\n name: 'Mercury',\n aliases: [\n 'm',\n 'moo'\n ],\n keywords: KEYWORDS,\n contains: [\n IMPLICATION,\n HEAD_BODY_CONJUNCTION,\n COMMENT,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMCODE,\n hljs.NUMBER_MODE,\n ATOM,\n STRING,\n { // relevance booster\n begin: /:-/ },\n { // relevance booster\n begin: /\\.$/ }\n ]\n };\n}\n\nmodule.exports = mercury;\n"],"names":["mercury","hljs","KEYWORDS","COMMENT","NUMCODE","ATOM","STRING","STRING_FMT","mercury_1"],"mappings":"4YAQA,SAASA,EAAQC,EAAM,CACrB,MAAMC,EAAW,CACf,QACE,odAOF,KAEE,grBAaF,SACE,mIAEN,EAEQC,EAAUF,EAAK,QAAQ,IAAK,GAAG,EAE/BG,EAAU,CACd,UAAW,SACX,MAAO,0BACX,EAEQC,EAAOJ,EAAK,QAAQA,EAAK,iBAAkB,CAAE,UAAW,CAAC,CAAE,EAC3DK,EAASL,EAAK,QAAQA,EAAK,kBAAmB,CAAE,UAAW,CAAC,CAAE,EAC9DM,EAAa,CACjB,UAAW,QACX,MAAO,wEACP,UAAW,CACf,EACE,OAAAD,EAAO,SAAWA,EAAO,SAAS,MAAK,EACvCA,EAAO,SAAS,KAAKC,CAAU,EA8BxB,CACL,KAAM,UACN,QAAS,CACP,IACA,KACD,EACD,SAAUL,EACV,SAAU,CAnCQ,CAClB,UAAW,WACX,SAAU,CACR,CAAE,MAAO,KAAO,EAChB,CACE,MAAO,KACP,UAAW,CACZ,EACD,CACE,MAAO,KACP,UAAW,CACZ,EACD,CAAE,MAAO,OAAS,EAClB,CAAE,MAAO,OAAS,CACnB,CACL,EAEgC,CAC5B,UAAW,WACX,SAAU,CACR,CAAE,MAAO,UAAY,EACrB,CACE,MAAO,IACP,UAAW,CACZ,CACF,CACL,EAYMC,EACAF,EAAK,qBACLG,EACAH,EAAK,YACLI,EACAC,EACA,CACE,MAAO,IAAM,EACf,CACE,MAAO,KAAO,CACjB,CACL,CACA,CAEA,IAAAE,EAAiBR","x_google_ignoreList":[0]}