summaryrefslogtreecommitdiff
path: root/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/yaml.xml
blob: baa7bd5debca832edc943ccb2295b41eb892ba7e (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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<lexer>
  <config>
    <name>YAML</name>
    <alias>yaml</alias>
    <filename>*.yaml</filename>
    <filename>*.yml</filename>
    <mime_type>text/x-yaml</mime_type>
  </config>
  <rules>
    <state name="root">
      <rule>
        <include state="whitespace"/>
      </rule>
      <rule pattern="^---">
        <token type="NameNamespace"/>
      </rule>
      <rule pattern="^\.\.\.">
        <token type="NameNamespace"/>
      </rule>
      <rule pattern="[\n?]?\s*- ">
        <token type="Text"/>
      </rule>
      <rule pattern="#.*$">
        <token type="Comment"/>
      </rule>
      <rule pattern="!![^\s]+">
        <token type="CommentPreproc"/>
      </rule>
      <rule pattern="&amp;[^\s]+">
        <token type="CommentPreproc"/>
      </rule>
      <rule pattern="\*[^\s]+">
        <token type="CommentPreproc"/>
      </rule>
      <rule pattern="^%include\s+[^\n\r]+">
        <token type="CommentPreproc"/>
      </rule>
      <rule>
        <include state="key"/>
      </rule>
      <rule>
        <include state="value"/>
      </rule>
      <rule pattern="[?:,\[\]]">
        <token type="Punctuation"/>
      </rule>
      <rule pattern=".">
        <token type="Text"/>
      </rule>
    </state>
    <state name="value">
      <rule pattern="([&gt;|](?:[+-])?)(\n(^ {1,})(?:.*\n*(?:^\3 *).*)*)">
        <bygroups>
          <token type="Punctuation"/>
          <token type="LiteralStringDoc"/>
          <token type="TextWhitespace"/>
        </bygroups>
      </rule>
      <rule pattern="(false|False|FALSE|true|True|TRUE|null|Off|off|yes|Yes|YES|OFF|On|ON|no|No|on|NO|n|N|Y|y)\b">
        <token type="KeywordConstant"/>
      </rule>
      <rule pattern="&#34;(?:\\.|[^&#34;])*&#34;">
        <token type="LiteralStringDouble"/>
      </rule>
      <rule pattern="&#39;(?:\\.|[^&#39;])*&#39;">
        <token type="LiteralStringSingle"/>
      </rule>
      <rule pattern="\d\d\d\d-\d\d-\d\d([T ]\d\d:\d\d:\d\d(\.\d+)?(Z|\s+[-+]\d+)?)?">
        <token type="LiteralDate"/>
      </rule>
      <rule pattern="\b[+\-]?(0x[\da-f]+|0o[0-7]+|(\d+\.?\d*|\.?\d+)(e[\+\-]?\d+)?|\.inf|\.nan)\b">
        <token type="LiteralNumber"/>
      </rule>
      <rule pattern="([^\{\}\[\]\?,\:\!\-\*&amp;\@].*)( )+(#.*)">
        <bygroups>
          <token type="Literal"/>
          <token type="TextWhitespace"/>
          <token type="Comment"/>
        </bygroups>
      </rule>
      <rule pattern="[^\{\}\[\]\?,\:\!\-\*&amp;\@].*">
        <token type="Literal"/>
      </rule>
    </state>
    <state name="key">
      <rule pattern="&#34;[^&#34;\n].*&#34;: ">
        <token type="NameTag"/>
      </rule>
      <rule pattern="(-)( )([^&#34;\n{]*)(:)( )">
        <bygroups>
          <token type="Punctuation"/>
          <token type="TextWhitespace"/>
          <token type="NameTag"/>
          <token type="Punctuation"/>
          <token type="TextWhitespace"/>
        </bygroups>
      </rule>
      <rule pattern="([^&#34;\n{]*)(:)( )">
        <bygroups>
          <token type="NameTag"/>
          <token type="Punctuation"/>
          <token type="TextWhitespace"/>
        </bygroups>
      </rule>
      <rule pattern="([^&#34;\n{]*)(:)(\n)">
        <bygroups>
          <token type="NameTag"/>
          <token type="Punctuation"/>
          <token type="TextWhitespace"/>
        </bygroups>
      </rule>
    </state>
    <state name="whitespace">
      <rule pattern="\s+">
        <token type="TextWhitespace"/>
      </rule>
      <rule pattern="\n+">
        <token type="TextWhitespace"/>
      </rule>
    </state>
  </rules>
</lexer>