aboutsummaryrefslogtreecommitdiff
path: root/api-notation.YAML-tmLanguage
blob: e1f84624d569143a9b7ce39a5eb85b8312e3e35e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# [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'