{
  "name": "Elm Compile Messages",
  "scopeName": "text.html.mediawiki.elm-build-output",
  "patterns": [
    {
      "name": "comment.line.heading.3.elm-build-output",
      "begin": "^(::) ",
      "end": "^\\n$",
      "patterns": [
        {
          "name": "markup.underline.link.elm-build-output",
          "match": "\\S+[/\\.]\\S+"
        },
        {
          "name": "constant.language.boolean.true.elm-build-output",
          "match": "(?i)\\bsuccess\\w+"
        }
      ]
    },
    {
      "name": "meta.report.elm-build-output",
      "contentName": "string.unquoted.elm-build-output",
      "begin": "(?x)           # Minimally modified `file_regex` from `Elm Make.sublime-build`\n  ^\\-\\-[ ]     # Leading delimiter\n  ((error)     # \\2: error\n  |(warning)   # \\3: warning\n  |\\w+         # \\1: any $type\n  )[:][ ]      # separator\n  (.+)         # \\4: tag\n  [ ][-][ ]    # separator\n  (.+?):       # \\5: $file\n  (\\d+):       # \\6: $line\n  (\\d+)        # \\7: $column\n  \\n$          # End",
      "end": "^\\n$",
      "patterns": [
        {
          "name": "markup.raw.inline.elm-build-output",
          "contentName": "variable.other.elm.elm-build-output",
          "begin": "(`)(?!`)",
          "end": "\\1",
          "captures": {
            "0": {
              "name": "punctuation.definition.raw.elm-build-output"
            }
          }
        },
        {
          "name": "markup.raw.block.elm-build-output",
          "begin": "(?m)^ {4}",
          "end": "\\n+(?!^ {4})",
          "patterns": [
            {
              "include": "source.elm"
            }
          ]
        }
      ],
      "beginCaptures": {
        "0": {
          "name": "markup.heading.4.elm-build-output"
        },
        "1": {
          "name": "support.constant.type.elm-build-output"
        },
        "2": {
          "name": "invalid.illegal.error.elm-build-output"
        },
        "3": {
          "name": "invalid.deprecated.warning.elm-build-output"
        },
        "4": {
          "name": "support.constant.type.elm-build-output"
        },
        "5": {
          "name": "markup.underline.link.elm-build-output"
        },
        "6": {
          "name": "constant.numeric.elm-build-output"
        },
        "7": {
          "name": "constant.numeric.elm-build-output"
        }
      },
      "endCaptures": {
        "0": {
          "name": "meta.separator.elm-build-output"
        }
      }
    },
    {
      "name": "comment.line.brackets.elm-build-output",
      "begin": "^\\[",
      "end": "\\]$",
      "patterns": [
        {
          "name": "constant.numeric.elm-build-output",
          "match": "\\b\\d+\\.\\d+(s)\\b",
          "captures": {
            "1": {
              "name": "keyword.other.unit.elm-build-output"
            }
          }
        }
      ]
    }
  ]
}