# [PackageDev] target_format: plist, ext: tmLanguage --- name: API Notation scopeName: source.api-notation fileTypes: ['api'] uuid: fc8dc5cf-b7aa-4b64-a665-80e8dc1b2553 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'