1 |
|
2 | (()=>{var e=(()=>{"use strict";return e=>{
|
3 | const i=e.COMMENT("%","$"),n=e.inherit(e.APOS_STRING_MODE,{relevance:0
|
4 | }),r=e.inherit(e.QUOTE_STRING_MODE,{relevance:0})
|
5 | ;return r.contains=r.contains.slice(),r.contains.push({className:"subst",
|
6 | begin:"\\\\[abfnrtv]\\|\\\\x[0-9a-fA-F]*\\\\\\|%[-+# *.0-9]*[dioxXucsfeEgGp]",
|
7 | relevance:0}),{name:"Mercury",aliases:["m","moo"],keywords:{
|
8 | keyword:"module use_module import_module include_module end_module initialise mutable initialize finalize finalise interface implementation pred mode func type inst solver any_pred any_func is semidet det nondet multi erroneous failure cc_nondet cc_multi typeclass instance where pragma promise external trace atomic or_else require_complete_switch require_det require_semidet require_multi require_nondet require_cc_multi require_cc_nondet require_erroneous require_failure",
|
9 | meta:"inline no_inline type_spec source_file fact_table obsolete memo loop_check minimal_model terminates does_not_terminate check_termination promise_equivalent_clauses foreign_proc foreign_decl foreign_code foreign_type foreign_import_module foreign_export_enum foreign_export foreign_enum may_call_mercury will_not_call_mercury thread_safe not_thread_safe maybe_thread_safe promise_pure promise_semipure tabled_for_io local untrailed trailed attach_to_io_state can_pass_as_mercury_type stable will_not_throw_exception may_modify_trail will_not_modify_trail may_duplicate may_not_duplicate affects_liveness does_not_affect_liveness doesnt_affect_liveness no_sharing unknown_sharing sharing",
|
10 | built_in:"some all not if then else true fail false try catch catch_any semidet_true semidet_false semidet_fail impure_true impure semipure"
|
11 | },contains:[{className:"built_in",variants:[{begin:"<=>"},{begin:"<=",
|
12 | relevance:0},{begin:"=>",relevance:0},{begin:"/\\\\"},{begin:"\\\\/"}]},{
|
13 | className:"built_in",variants:[{begin:":-\\|--\x3e"},{begin:"=",relevance:0}]
|
14 | },i,e.C_BLOCK_COMMENT_MODE,{className:"number",begin:"0'.\\|0[box][0-9a-fA-F]*"
|
15 | },e.NUMBER_MODE,n,r,{begin:/:-/},{begin:/\.$/}]}}})()
|
16 | ;hljs.registerLanguage("mercury",e)})(); |
\ | No newline at end of file |