{"name":"2-Dimensional Array","scopeName":"source.2da","patterns":[{"name":"meta.header.2da","begin":"(?x) \\A\n[ \\t]* (2DA\\s+V(?:\\d+\\.\\d+)) # Format signature\n[ \\t]* (?:(\\S.*?) [ \\t]*)?     # Unexpected junk\n$ \\s*","end":"(?!\\G)$","patterns":[{"include":"#default"}],"beginCaptures":{"0":{"name":"meta.file-signature.2da"},"1":{"name":"keyword.control.format-version.2da"},"2":{"name":"invalid.illegal.unexpected-characters.2da"}}},{"name":"meta.header.2da","begin":"\\A[ \\t]*(\\S+)[ \\t]*$","end":"(?!\\G)","beginCaptures":{"1":{"patterns":[{"include":"#default"}]}}},{"name":"meta.body.2da","begin":"^","end":"(?=A)B","patterns":[{"name":"meta.column-headers.2da","contentName":"constant.other.reference.link","begin":"\\G","end":"$","patterns":[{"include":"#headers"}]},{"name":"meta.records.2da","begin":"(?!\\G)^","end":"(?=A)B","patterns":[{"include":"#row"}]}]}],"repository":{"blankEntry":{"name":"keyword.operator.null-value.2da","match":"(?:\\G|^|(?\u003c=\\s))\\*{4}(?=\\s|$)"},"default":{"name":"meta.default-value.2da","begin":"(?:\\G|^)[ \\t]*(?:(DEFAULT(:))[ \\t]*)?","end":"(?=[ \\t]*$)","patterns":[{"include":"#value"}],"beginCaptures":{"1":{"name":"variable.assignment.default-value.2da"},"2":{"name":"keyword.operator.assignment.colon.2da"}}},"float":{"name":"constant.numeric.float.decimal.2da","match":"[-+]?(?:[0-9]+\\.[0-9]+|\\.[0-9]+)(?=\\s|$)"},"headers":{"patterns":[{"name":"entity.name.column.header.unquoted.2da","match":"[^\"\\s]+"},{"name":"entity.name.column.header.quoted.2da","match":"(\")(?=\\w)[^\"]+(\")","captures":{"1":{"name":"punctuation.definition.header.begin.2da"},"2":{"name":"punctuation.definition.header.end.2da"}}}]},"integer":{"patterns":[{"name":"constant.numeric.integer.dec.decimal.2da","match":"[-+]?[0-9]+(?=\\s|$)"},{"name":"constant.numeric.integer.hex.hexadecimal.2da","match":"[-+]?0[Xx][A-Fa-f0-9]+(?=\\s|$)"}]},"row":{"patterns":[{"match":"(?:\\G|^)[ \\t]*(\\d+)(?=\\s|$)","captures":{"1":{"name":"constant.numeric.integer.row-index.2da"}}},{"name":"punctuation.whitespace.column-separator.2da","match":"[ \\t]+"},{"include":"#value"}]},"string":{"patterns":[{"name":"string.quoted.double.2da","begin":"\"","end":"(\")|([^\"]*?)(?=[ \\t]*$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.2da"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.2da"},"2":{"name":"invalid.illegal.unclosed-string.2da"}}},{"name":"string.unquoted.2da","match":"(?![-+]?\\d)[^\\s\"]+"}]},"value":{"patterns":[{"include":"#blankEntry"},{"include":"#float"},{"include":"#integer"},{"include":"#string"}]}}}
