'scopeName': 'source.api-notation' 'name': 'API Notation' 'fileTypes': [ 'api' ] 'patterns': [ { 'begin': '^([a-zA-Z0-9_.]+)' 'end': '\n' 'name': 'constant.language' 'patterns': [ { 'include': '#dataTypes' } { 'include': '#comment' } ] } { 'begin': '[ \t]*', 'end': '\n' 'patterns': [ { 'include': '#apiMember' } { 'include': '#parameterList' } { 'include': '#dataTypes' } { 'include': '#operators' } { 'include': '#parameters' } { 'include': '#comment' } ] } { 'begin': '^.', 'end': '\n' 'patterns': [ { 'include': '#comment' } ] }, ] 'repository': 'dataTypes': { 'begin': '\\<' 'end': '\\>' 'name': 'keyword.operator' 'patterns': [ { 'include': '#dataType' } { 'include': '#separators' } ] } 'parameterList': { 'begin': '\\(' 'end': '\\)' 'name': 'keyword.operator' 'patterns': [ { 'include': '#parameters' } { 'include': '#optionalParameters' } { 'include': '#dataTypes' } { 'include': '#separators' } ] } 'dataType': { 'match': '[a-zA-Z0-9_.]+' 'name': 'support.function' } 'parameters': { 'match': '[a-zA-Z0-9_.]+' 'name': 'string.other' } 'optionalParameters': { 'begin': '\\[' 'end': '\\]' 'patterns': [ { 'include': '#optionalParameter' } ] } 'optionalParameter': { 'match': '[a-zA-Z0-9_.]+' 'name': 'meta.separator' } 'separators': { 'match': '\\||,' 'name': 'comment.line' } 'apiMember': { 'match': '((?:<\\+)|(?:<\\~)|(?:<\\-)|(?:\\+>)|(?:\\~>)|(?:\\->)|\\-|\\+|(?:::)|#)([a-zA-z0-9_]+)' 'captures': '1': 'name': 'keyword.control' '2': 'name': 'variable.language' } 'comment': { 'match': '[ \t]*//[ \t]*.*', 'name': 'comment.line' } 'operators': { 'match': '(?:\\->)|(?:\\=>)' 'name': 'keyword.control' }