mercury.json 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. {
  2. "aliases": [
  3. "m",
  4. "moo"
  5. ],
  6. "keywords": {
  7. "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",
  8. "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",
  9. "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"
  10. },
  11. "contains": [
  12. {
  13. "className": "built_in",
  14. "variants": [
  15. {
  16. "begin": "<=>"
  17. },
  18. {
  19. "begin": "<=",
  20. "relevance": 0
  21. },
  22. {
  23. "begin": "=>",
  24. "relevance": 0
  25. },
  26. {
  27. "begin": "\/\\\\"
  28. },
  29. {
  30. "begin": "\\\\\\\/"
  31. }
  32. ]
  33. },
  34. {
  35. "className": "built_in",
  36. "variants": [
  37. {
  38. "begin": ":-\\|-->"
  39. },
  40. {
  41. "begin": "=",
  42. "relevance": 0
  43. }
  44. ]
  45. },
  46. {
  47. "className": "comment",
  48. "begin": "%",
  49. "end": "$",
  50. "contains": [
  51. {
  52. "begin": "\\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\\b"
  53. },
  54. {
  55. "className": "doctag",
  56. "begin": "(?:TODO|FIXME|NOTE|BUG|XXX):",
  57. "relevance": 0
  58. }
  59. ]
  60. },
  61. {
  62. "className": "comment",
  63. "begin": "\/\\*",
  64. "end": "\\*\/",
  65. "contains": [
  66. {
  67. "$ref": "#contains.2.contains.0"
  68. },
  69. {
  70. "className": "doctag",
  71. "begin": "(?:TODO|FIXME|NOTE|BUG|XXX):",
  72. "relevance": 0
  73. }
  74. ]
  75. },
  76. {
  77. "className": "number",
  78. "begin": "0'.\\|0[box][0-9a-fA-F]*"
  79. },
  80. {
  81. "className": "number",
  82. "begin": "\\b\\d+(\\.\\d+)?",
  83. "relevance": 0
  84. },
  85. {
  86. "className": "string",
  87. "begin": "'",
  88. "end": "'",
  89. "illegal": "\\n",
  90. "contains": [
  91. {
  92. "begin": "\\\\[\\s\\S]",
  93. "relevance": 0
  94. }
  95. ],
  96. "relevance": 0
  97. },
  98. {
  99. "className": "string",
  100. "begin": "\"",
  101. "end": "\"",
  102. "illegal": "\\n",
  103. "contains": [
  104. {
  105. "$ref": "#contains.6.contains.0"
  106. },
  107. {
  108. "className": "subst",
  109. "begin": "\\\\[abfnrtv]\\|\\\\x[0-9a-fA-F]*\\\\\\|%[-+# *.0-9]*[dioxXucsfeEgGp]",
  110. "relevance": 0
  111. }
  112. ],
  113. "relevance": 0
  114. },
  115. {
  116. "begin": ":-"
  117. },
  118. {
  119. "begin": "\\.$"
  120. }
  121. ]
  122. }