Mercurial > yakumo_izuru > aya
comparison vendor/github.com/alecthomas/chroma/v2/lexers/embedded/sas.xml @ 66:787b5ee0289d draft
Use vendored modules
Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>
author | yakumo.izuru |
---|---|
date | Sun, 23 Jul 2023 13:18:53 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
65:6d985efa0f7a | 66:787b5ee0289d |
---|---|
1 <lexer> | |
2 <config> | |
3 <name>SAS</name> | |
4 <alias>sas</alias> | |
5 <filename>*.SAS</filename> | |
6 <filename>*.sas</filename> | |
7 <mime_type>text/x-sas</mime_type> | |
8 <mime_type>text/sas</mime_type> | |
9 <mime_type>application/x-sas</mime_type> | |
10 <case_insensitive>true</case_insensitive> | |
11 </config> | |
12 <rules> | |
13 <state name="validvar"> | |
14 <rule pattern="[a-z_]\w{0,31}\.?"> | |
15 <token type="NameVariable"/> | |
16 <pop depth="1"/> | |
17 </rule> | |
18 </state> | |
19 <state name="cards-datalines"> | |
20 <rule pattern="^\s*(datalines|cards)\s*;\s*$"> | |
21 <token type="Keyword"/> | |
22 <push state="data"/> | |
23 </rule> | |
24 </state> | |
25 <state name="proc-data"> | |
26 <rule pattern="(^|;)\s*(proc \w+|data|run|quit)[\s;]"> | |
27 <token type="KeywordReserved"/> | |
28 </rule> | |
29 </state> | |
30 <state name="string_dquote"> | |
31 <rule pattern="""> | |
32 <token type="LiteralString"/> | |
33 <pop depth="1"/> | |
34 </rule> | |
35 <rule pattern="\\\\|\\"|\\\n"> | |
36 <token type="LiteralStringEscape"/> | |
37 </rule> | |
38 <rule pattern="&"> | |
39 <token type="NameVariable"/> | |
40 <push state="validvar"/> | |
41 </rule> | |
42 <rule pattern="[^$&"\\]+"> | |
43 <token type="LiteralString"/> | |
44 </rule> | |
45 <rule pattern="[$"\\]"> | |
46 <token type="LiteralString"/> | |
47 </rule> | |
48 </state> | |
49 <state name="general"> | |
50 <rule> | |
51 <include state="keywords"/> | |
52 </rule> | |
53 <rule> | |
54 <include state="vars-strings"/> | |
55 </rule> | |
56 <rule> | |
57 <include state="special"/> | |
58 </rule> | |
59 <rule> | |
60 <include state="numbers"/> | |
61 </rule> | |
62 </state> | |
63 <state name="vars-strings"> | |
64 <rule pattern="&[a-z_]\w{0,31}\.?"> | |
65 <token type="NameVariable"/> | |
66 </rule> | |
67 <rule pattern="%[a-z_]\w{0,31}"> | |
68 <token type="NameFunction"/> | |
69 </rule> | |
70 <rule pattern="\'"> | |
71 <token type="LiteralString"/> | |
72 <push state="string_squote"/> | |
73 </rule> | |
74 <rule pattern="""> | |
75 <token type="LiteralString"/> | |
76 <push state="string_dquote"/> | |
77 </rule> | |
78 </state> | |
79 <state name="root"> | |
80 <rule> | |
81 <include state="comments"/> | |
82 </rule> | |
83 <rule> | |
84 <include state="proc-data"/> | |
85 </rule> | |
86 <rule> | |
87 <include state="cards-datalines"/> | |
88 </rule> | |
89 <rule> | |
90 <include state="logs"/> | |
91 </rule> | |
92 <rule> | |
93 <include state="general"/> | |
94 </rule> | |
95 <rule pattern="."> | |
96 <token type="Text"/> | |
97 </rule> | |
98 <rule pattern="\\\n"> | |
99 <token type="Text"/> | |
100 </rule> | |
101 <rule pattern="\n"> | |
102 <token type="Text"/> | |
103 </rule> | |
104 </state> | |
105 <state name="data"> | |
106 <rule pattern="(.|\n)*^\s*;\s*$"> | |
107 <token type="Other"/> | |
108 <pop depth="1"/> | |
109 </rule> | |
110 </state> | |
111 <state name="logs"> | |
112 <rule pattern="\n?^\s*%?put "> | |
113 <token type="Keyword"/> | |
114 <push state="log-messages"/> | |
115 </rule> | |
116 </state> | |
117 <state name="keywords"> | |
118 <rule pattern="\b(datalines4|datalines|delimiter|startsas|redirect|lostcard|continue|informat|filename|footnote|catname|options|libname|systask|display|waitsas|missing|replace|delete|window|endsas|update|format|attrib|length|infile|select|return|retain|rename|remove|output|cards4|modify|leave|title|merge|delim|input|cards|abort|where|label|array|error|call|page|stop|keep|file|drop|link|skip|list|goto|put|out|set|by|dm|in|x)\b"> | |
119 <token type="Keyword"/> | |
120 </rule> | |
121 <rule pattern="\b(references|distinct|describe|validate|restrict|cascade|msgtype|message|primary|foreign|delete|update|create|unique|having|modify|insert|select|group|check|table|alter|order|reset|index|where|into|from|view|null|like|drop|add|not|key|and|set|on|in|or|as)\b"> | |
122 <token type="Keyword"/> | |
123 </rule> | |
124 <rule pattern="\b(while|until|then|else|end|if|do)\b"> | |
125 <token type="Keyword"/> | |
126 </rule> | |
127 <rule pattern="%(sysevalf|nrbquote|qsysfunc|qlowcase|compstor|nrquote|display|qupcase|datatyp|qcmpres|unquote|syscall|sysfunc|sysrput|sysprod|syslput|sysexec|lowcase|qsubstr|sysget|length|keydef|global|superq|substr|verify|bquote|cmpres|upcase|window|label|qleft|while|qtrim|quote|nrstr|until|sysrc|input|macro|local|qscan|index|else|scan|mend|eval|trim|then|goto|left|put|let|end|str|do|to|if)\b"> | |
128 <token type="NameBuiltin"/> | |
129 </rule> | |
130 <rule pattern="\b(vinformatnx|vinformatwx|vinformatdx|vinformatw|vinformatd|vinformatx|vinformatn|vinformat|translate|vinarrayx|vformatwx|vformatnx|vformatdx|getoption|fileexist|fetchobs|vlengthx|filename|fipstate|kurtosis|vinarray|vformatx|pathname|foptname|compound|compress|vformatw|hosthelp|vformatn|zipnamel|vformatd|probbeta|daccdbsl|zipstate|trigamma|probbnml|probhypr|probnegb|probnorm|datepart|datetime|varlabel|varinfmt|dropnote|skewness|doptname|timepart|fipnamel|dequote|tranwrd|sysprod|digamma|stnamel|soundex|depdbsl|reverse|daccsyd|doptnum|resolve|uniform|datejul|varname|varrayx|probgam|probchi|fappend|dacctab|vformat|poisson|collate|brshift|ordinal|fdelete|blshift|betainv|fileref|lowcase|libname|fipname|vlabelx|vlength|weekday|juldate|jbessel|ibessel|zipfips|foptnum|zipname|getvarn|getvarc|frewind|vartype|depsyd|stderr|stfips|fwrite|gaminv|second|substr|vtypex|symget|hbound|vnamex|fpoint|saving|fnonct|rewind|indexc|indexw|repeat|inputc|inputn|ranuni|stname|rantbl|ranpoi|rannor|sysget|rangam|ranexp|vlabel|lbound|cexist|length|lgamma|rancau|libref|cnonct|ranbin|compbl|logpdf|logpmf|logsdf|sysmsg|curobs|daccdb|verify|daccsl|minute|system|tnonct|dsname|varray|varnum|probit|spedis|normal|varlen|dclose|varfmt|fexist|deptab|upcase|rantri|fclose|nmiss|point|trimn|depsl|trunc|peekc|depdb|probf|exist|fetch|netpv|today|mopen|probt|month|dairy|sysrc|finfo|quote|log10|close|floor|dinfo|range|fnote|attrn|intrr|intnx|intck|attrc|input|dread|dopen|index|right|round|vname|vtype|fread|gamma|arsin|arcos|fopen|frlen|fget|sinh|sqrt|addr|airy|sign|fsep|year|fuzz|dnum|scan|rank|fput|fpos|putn|putc|hour|tanh|atan|dhms|tinv|band|bnot|erfc|fcol|poke|trim|byte|ceil|peek|left|cinv|finv|open|log2|mean|note|date|cosh|mort|time|bxor|bor|mdy|std|max|css|sin|cos|npv|log|var|uss|pdf|pmf|cdf|abs|hms|day|erf|put|lag|irr|int|sum|tan|min|dif|qtr|sdf|dim|yyq|exp|mod|cv|n)\("> | |
131 <token type="NameBuiltin"/> | |
132 </rule> | |
133 </state> | |
134 <state name="numbers"> | |
135 <rule pattern="\b[+-]?([0-9]+(\.[0-9]+)?|\.[0-9]+|\.)(E[+-]?[0-9]+)?i?\b"> | |
136 <token type="LiteralNumber"/> | |
137 </rule> | |
138 </state> | |
139 <state name="special"> | |
140 <rule pattern="(null|missing|_all_|_automatic_|_character_|_n_|_infile_|_name_|_null_|_numeric_|_user_|_webout_)"> | |
141 <token type="KeywordConstant"/> | |
142 </rule> | |
143 </state> | |
144 <state name="log-messages"> | |
145 <rule pattern="NOTE(:|-).*"> | |
146 <token type="Generic"/> | |
147 <pop depth="1"/> | |
148 </rule> | |
149 <rule pattern="WARNING(:|-).*"> | |
150 <token type="GenericEmph"/> | |
151 <pop depth="1"/> | |
152 </rule> | |
153 <rule pattern="ERROR(:|-).*"> | |
154 <token type="GenericError"/> | |
155 <pop depth="1"/> | |
156 </rule> | |
157 <rule> | |
158 <include state="general"/> | |
159 </rule> | |
160 </state> | |
161 <state name="comments"> | |
162 <rule pattern="^\s*\*.*?;"> | |
163 <token type="Comment"/> | |
164 </rule> | |
165 <rule pattern="/\*.*?\*/"> | |
166 <token type="Comment"/> | |
167 </rule> | |
168 <rule pattern="^\s*\*(.|\n)*?;"> | |
169 <token type="CommentMultiline"/> | |
170 </rule> | |
171 <rule pattern="/[*](.|\n)*?[*]/"> | |
172 <token type="CommentMultiline"/> | |
173 </rule> | |
174 </state> | |
175 <state name="string_squote"> | |
176 <rule pattern="'"> | |
177 <token type="LiteralString"/> | |
178 <pop depth="1"/> | |
179 </rule> | |
180 <rule pattern="\\\\|\\"|\\\n"> | |
181 <token type="LiteralStringEscape"/> | |
182 </rule> | |
183 <rule pattern="[^$\'\\]+"> | |
184 <token type="LiteralString"/> | |
185 </rule> | |
186 <rule pattern="[$\'\\]"> | |
187 <token type="LiteralString"/> | |
188 </rule> | |
189 </state> | |
190 </rules> | |
191 </lexer> |