{"name":"Ada","scopeName":"source.ada","patterns":[{"name":"meta.function.ada","match":"\\b(?i:(function|procedure))\\b\\s+(\\w+(\\.\\w+)?|\"(?:\\+|-|=|\\*|/)\")","captures":{"1":{"name":"storage.type.function.ada"},"2":{"name":"entity.name.function.ada"}}},{"name":"meta.function.ada","match":"\\b(?i:(package)(?:\\b\\s+(body))?)\\b\\s+(\\w+(\\.\\w+)*|\"(?:\\+|-|=|\\*|/)\")","captures":{"1":{"name":"storage.type.package.ada"},"2":{"name":"keyword.other.body.ada"},"3":{"name":"entity.name.type.package.ada"}}},{"name":"meta.function.end.ada","match":"\\b(?i:(end))\\b\\s+(\\w+(\\.\\w+)*|\"(\\+|-|=|\\*|/)\")\\s?;","captures":{"1":{"name":"storage.type.function.ada"},"2":{"name":"entity.name.function.ada"}}},{"name":"meta.import.ada","match":"^\\s*(?:(limited)\\s+)?(?:(private)\\s+)?(with)\\s+(\\w+(\\.\\w+)*)\\s*;","captures":{"1":{"name":"keyword.control.import.limited.ada"},"2":{"name":"keyword.control.import.private.ada"},"3":{"name":"keyword.control.import.ada"},"4":{"name":"entity.name.function.ada"}}},{"name":"keyword.control.ada","match":"\\b(?i:(begin|end|package))\\b"},{"name":"keyword.other.ada","match":"\\b(?i:(\\=\u003e|abort|abs|abstract|accept|access|aliased|all|and|array|at|body|case|constant|declare|delay|delta|digits|do|else|elsif|entry|exception|exit|for|function|generic|goto|if|in|interface|is|limited|loop|mod|new|not|null|of|or|others|out|overriding|pragma|private|procedure|protected|raise|range|record|rem|renames|requeue|return|reverse|select|separate|some|subtype|synchronized|tagged|task|terminate|then|type|until|use|when|while|with|xor))\\b"},{"name":"constant.numeric.ada","match":"\\b(?i:([0-9](_?[0-9])*((#[0-9a-f](_?[0-9a-f])*#((e(\\+|-)?[0-9](_?[0-9])*\\b)|\\B))|((\\.[0-9](_?[0-9])*)?(e(\\+|-)?[0-9](_?[0-9])*)?\\b))))"},{"name":"string.quoted.double.ada","begin":"\"","end":"\"(?!\")","patterns":[{"name":"constant.character.escape.ada","match":"\"\""},{"name":"invalid.illegal.lf-in-string.ada","match":"\\n"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ada"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ada"}}},{"name":"string.quoted.single.ada","match":"(').(')","captures":{"1":{"name":"punctuation.definition.string.begin.ada"},"2":{"name":"punctuation.definition.string.end.ada"}}},{"begin":"(^[ \\t]+)?(?=--)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-dash.ada","begin":"--","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.ada"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ada"}}}]}