# [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: '^//.*' end: '\n' name: 'comment.line' - 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: 'comment.line' 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'