comment Ada -- chris@cjack.com. Feel free to modify, distribute, be happy. Share and enjoy. fileTypes adb ads keyEquivalent ^~A name Ada patterns include #comments include #strings include #labels captures 1 name keyword.other.ada 2 name entity.name.function.ada match \b(?i:(function|procedure))\b\s+(\w+(\.\w+)?|"(?:\+|-|=|\*|/)") name meta.function.ada captures 1 name keyword.other.ada 2 name keyword.other.ada 3 name entity.other.attribute-name match \b(?i:(package)(?:\b\s+(body))?)\b\s+(\w+(\.\w+)*|"(?:\+|-|=|\*|/)") name meta.function.ada captures 1 name keyword.other.ada 4 name entity.other.attribute-name match \b((?i:(end))\s*(\s+(?i:if|loop|record|case|select)\s*)(\w+)?); name meta.function.ada captures 1 name keyword.other.ada 2 name entity.other.attribute-name match \b(?i:(end))\b\s+(\w+(\.\w+)*|"(\+|-|=|\*|/)")\s?; name meta.function.ada captures 1 name keyword.control.import.ada 2 name string.unquoted.import.ada match (^|[\r\n])((?i:((limited[ \t]*)?(private[ \t]*)?with))[ \t]+(\w+(\.\w+)*);[ \t]*)+ name meta.function.ada match \b(?i:(begin|end|package))\b name keyword.control.ada match \b(?i:(\=>|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 keyword.other.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 constant.numeric.ada repository comments patterns captures 1 name punctuation.definition.comment.ada match (--).*$\n? name comment.line.double-dash.ada labels patterns captures 1 name entity.other.attribute-name match <<(.+)>> name keyword.operator.label.ada captures 1 name entity.other.attribute-name match ^\s*\b(\w+?)\s*: name keyword.operator.label.ada strings patterns match '.' name string.quoted.single.ada begin " beginCaptures 0 name punctuation.definition.string.begin.ada end " endCaptures 0 name punctuation.definition.string.end.ada name string.quoted.double.ada patterns match \n name invalid.illegal.lf-in-string.ada scopeName source.ada uuid 0AB8A36E-6B1D-11D9-B034-000D93589AF6