eric6/ThirdParty/Pygments/pygments/lexers/teraterm.py

changeset 7701
25f42e208e08
parent 7547
21b0534faebc
child 7983
54c5cfbb1e29
equal deleted inserted replaced
7700:a3cf077a8db3 7701:25f42e208e08
3 pygments.lexers.teraterm 3 pygments.lexers.teraterm
4 ~~~~~~~~~~~~~~~~~~~~~~~~ 4 ~~~~~~~~~~~~~~~~~~~~~~~~
5 5
6 Lexer for Tera Term macro files. 6 Lexer for Tera Term macro files.
7 7
8 :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS. 8 :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
9 :license: BSD, see LICENSE for details. 9 :license: BSD, see LICENSE for details.
10 """ 10 """
11 11
12 import re 12 import re
13 13
38 include('user-variables'), 38 include('user-variables'),
39 include('operators'), 39 include('operators'),
40 include('numeric-literals'), 40 include('numeric-literals'),
41 include('string-literals'), 41 include('string-literals'),
42 include('all-whitespace'), 42 include('all-whitespace'),
43 (r'[^\s]', Text), 43 (r'\S', Text),
44 ], 44 ],
45 'comments': [ 45 'comments': [
46 (r';[^\r\n]*', Comment.Single), 46 (r';[^\r\n]*', Comment.Single),
47 (r'/\*', Comment.Multiline, 'in-comment'), 47 (r'/\*', Comment.Multiline, 'in-comment'),
48 ], 48 ],
50 (r'\*/', Comment.Multiline, '#pop'), 50 (r'\*/', Comment.Multiline, '#pop'),
51 (r'[^*/]+', Comment.Multiline), 51 (r'[^*/]+', Comment.Multiline),
52 (r'[*/]', Comment.Multiline) 52 (r'[*/]', Comment.Multiline)
53 ], 53 ],
54 'labels': [ 54 'labels': [
55 (r'(?i)^(\s*)(:[0-9a-z_]+)', bygroups(Text, Name.Label)), 55 (r'(?i)^(\s*)(:[a-z0-9_]+)', bygroups(Text, Name.Label)),
56 ], 56 ],
57 'commands': [ 57 'commands': [
58 ( 58 (
59 r'(?i)\b(' 59 r'(?i)\b('
60 r'basename|beep|bplusrecv|bplussend|break|bringupbox|' 60 r'basename|'
61 r'callmenu|changedir|checksum16|checksum16file|' 61 r'beep|'
62 r'checksum32|checksum32file|checksum8|checksum8file|' 62 r'bplusrecv|'
63 r'clearscreen|clipb2var|closesbox|closett|code2str|' 63 r'bplussend|'
64 r'connect|continue|crc16|crc16file|crc32|crc32file|' 64 r'break|'
65 r'cygconnect|delpassword|dirname|dirnamebox|disconnect|' 65 r'bringupbox|'
66 r'dispstr|do|else|elseif|enablekeyb|end|endif|enduntil|' 66 # 'call' is handled separately.
67 r'endwhile|exec|execcmnd|exit|expandenv|fileclose|' 67 r'callmenu|'
68 r'fileconcat|filecopy|filecreate|filedelete|filelock|' 68 r'changedir|'
69 r'filemarkptr|filenamebox|fileopen|fileread|filereadln|' 69 r'checksum16|'
70 r'filerename|filesearch|fileseek|fileseekback|filestat|' 70 r'checksum16file|'
71 r'filestrseek|filestrseek2|filetruncate|fileunlock|' 71 r'checksum32|'
72 r'filewrite|filewriteln|findclose|findfirst|findnext|' 72 r'checksum32file|'
73 r'flushrecv|foldercreate|folderdelete|foldersearch|for|' 73 r'checksum8|'
74 r'getdate|getdir|getenv|getfileattr|gethostname|' 74 r'checksum8file|'
75 r'getipv4addr|getipv6addr|getmodemstatus|getpassword|' 75 r'clearscreen|'
76 r'getspecialfolder|gettime|gettitle|getttdir|getver|' 76 r'clipb2var|'
77 r'if|ifdefined|include|inputbox|int2str|intdim|' 77 r'closesbox|'
78 r'ispassword|kmtfinish|kmtget|kmtrecv|kmtsend|listbox|' 78 r'closett|'
79 r'loadkeymap|logautoclosemode|logclose|loginfo|logopen|' 79 r'code2str|'
80 r'logpause|logrotate|logstart|logwrite|loop|makepath|' 80 r'connect|'
81 r'messagebox|mpause|next|passwordbox|pause|quickvanrecv|' 81 r'continue|'
82 r'quickvansend|random|recvln|regexoption|restoresetup|' 82 r'crc16|'
83 r'return|rotateleft|rotateright|scprecv|scpsend|send|' 83 r'crc16file|'
84 r'sendbreak|sendbroadcast|sendfile|sendkcode|sendln|' 84 r'crc32|'
85 r'sendlnbroadcast|sendlnmulticast|sendmulticast|setbaud|' 85 r'crc32file|'
86 r'setdate|setdebug|setdir|setdlgpos|setdtr|setecho|' 86 r'cygconnect|'
87 r'setenv|setexitcode|setfileattr|setflowctrl|' 87 r'delpassword|'
88 r'setmulticastname|setpassword|setrts|setsync|settime|' 88 r'dirname|'
89 r'settitle|show|showtt|sprintf|sprintf2|statusbox|' 89 r'dirnamebox|'
90 r'str2code|str2int|strcompare|strconcat|strcopy|strdim|' 90 r'disconnect|'
91 r'strinsert|strjoin|strlen|strmatch|strremove|' 91 r'dispstr|'
92 r'strreplace|strscan|strspecial|strsplit|strtrim|' 92 r'do|'
93 r'testlink|then|tolower|toupper|unlink|until|uptime|' 93 r'else|'
94 r'var2clipb|wait|wait4all|waitevent|waitln|waitn|' 94 r'elseif|'
95 r'waitrecv|waitregex|while|xmodemrecv|xmodemsend|' 95 r'enablekeyb|'
96 r'yesnobox|ymodemrecv|ymodemsend|zmodemrecv|zmodemsend' 96 r'end|'
97 r'endif|'
98 r'enduntil|'
99 r'endwhile|'
100 r'exec|'
101 r'execcmnd|'
102 r'exit|'
103 r'expandenv|'
104 r'fileclose|'
105 r'fileconcat|'
106 r'filecopy|'
107 r'filecreate|'
108 r'filedelete|'
109 r'filelock|'
110 r'filemarkptr|'
111 r'filenamebox|'
112 r'fileopen|'
113 r'fileread|'
114 r'filereadln|'
115 r'filerename|'
116 r'filesearch|'
117 r'fileseek|'
118 r'fileseekback|'
119 r'filestat|'
120 r'filestrseek|'
121 r'filestrseek2|'
122 r'filetruncate|'
123 r'fileunlock|'
124 r'filewrite|'
125 r'filewriteln|'
126 r'findclose|'
127 r'findfirst|'
128 r'findnext|'
129 r'flushrecv|'
130 r'foldercreate|'
131 r'folderdelete|'
132 r'foldersearch|'
133 r'for|'
134 r'getdate|'
135 r'getdir|'
136 r'getenv|'
137 r'getfileattr|'
138 r'gethostname|'
139 r'getipv4addr|'
140 r'getipv6addr|'
141 r'getmodemstatus|'
142 r'getpassword|'
143 r'getspecialfolder|'
144 r'gettime|'
145 r'gettitle|'
146 r'getttdir|'
147 r'getver|'
148 # 'goto' is handled separately.
149 r'if|'
150 r'ifdefined|'
151 r'include|'
152 r'inputbox|'
153 r'int2str|'
154 r'intdim|'
155 r'ispassword|'
156 r'kmtfinish|'
157 r'kmtget|'
158 r'kmtrecv|'
159 r'kmtsend|'
160 r'listbox|'
161 r'loadkeymap|'
162 r'logautoclosemode|'
163 r'logclose|'
164 r'loginfo|'
165 r'logopen|'
166 r'logpause|'
167 r'logrotate|'
168 r'logstart|'
169 r'logwrite|'
170 r'loop|'
171 r'makepath|'
172 r'messagebox|'
173 r'mpause|'
174 r'next|'
175 r'passwordbox|'
176 r'pause|'
177 r'quickvanrecv|'
178 r'quickvansend|'
179 r'random|'
180 r'recvln|'
181 r'regexoption|'
182 r'restoresetup|'
183 r'return|'
184 r'rotateleft|'
185 r'rotateright|'
186 r'scprecv|'
187 r'scpsend|'
188 r'send|'
189 r'sendbreak|'
190 r'sendbroadcast|'
191 r'sendfile|'
192 r'sendkcode|'
193 r'sendln|'
194 r'sendlnbroadcast|'
195 r'sendlnmulticast|'
196 r'sendmulticast|'
197 r'setbaud|'
198 r'setdate|'
199 r'setdebug|'
200 r'setdir|'
201 r'setdlgpos|'
202 r'setdtr|'
203 r'setecho|'
204 r'setenv|'
205 r'setexitcode|'
206 r'setfileattr|'
207 r'setflowctrl|'
208 r'setmulticastname|'
209 r'setpassword|'
210 r'setrts|'
211 r'setspeed|'
212 r'setsync|'
213 r'settime|'
214 r'settitle|'
215 r'show|'
216 r'showtt|'
217 r'sprintf|'
218 r'sprintf2|'
219 r'statusbox|'
220 r'str2code|'
221 r'str2int|'
222 r'strcompare|'
223 r'strconcat|'
224 r'strcopy|'
225 r'strdim|'
226 r'strinsert|'
227 r'strjoin|'
228 r'strlen|'
229 r'strmatch|'
230 r'strremove|'
231 r'strreplace|'
232 r'strscan|'
233 r'strspecial|'
234 r'strsplit|'
235 r'strtrim|'
236 r'testlink|'
237 r'then|'
238 r'tolower|'
239 r'toupper|'
240 r'unlink|'
241 r'until|'
242 r'uptime|'
243 r'var2clipb|'
244 r'wait|'
245 r'wait4all|'
246 r'waitevent|'
247 r'waitln|'
248 r'waitn|'
249 r'waitrecv|'
250 r'waitregex|'
251 r'while|'
252 r'xmodemrecv|'
253 r'xmodemsend|'
254 r'yesnobox|'
255 r'ymodemrecv|'
256 r'ymodemsend|'
257 r'zmodemrecv|'
258 r'zmodemsend'
97 r')\b', 259 r')\b',
98 Keyword, 260 Keyword,
99 ), 261 ),
100 ( 262 (r'(?i)(call|goto)([ \t]+)([a-z0-9_]+)',
101 r'(?i)(call|goto)([ \t]+)([0-9a-z_]+)', 263 bygroups(Keyword, Text, Name.Label)),
102 bygroups(Keyword, Text, Name.Label),
103 )
104 ], 264 ],
105 'builtin-variables': [ 265 'builtin-variables': [
106 ( 266 (
107 r'(?i)(' 267 r'(?i)('
108 r'groupmatchstr1|groupmatchstr2|groupmatchstr3|' 268 r'groupmatchstr1|'
109 r'groupmatchstr4|groupmatchstr5|groupmatchstr6|' 269 r'groupmatchstr2|'
110 r'groupmatchstr7|groupmatchstr8|groupmatchstr9|' 270 r'groupmatchstr3|'
111 r'param1|param2|param3|param4|param5|param6|' 271 r'groupmatchstr4|'
112 r'param7|param8|param9|paramcnt|params|' 272 r'groupmatchstr5|'
113 r'inputstr|matchstr|mtimeout|result|timeout' 273 r'groupmatchstr6|'
274 r'groupmatchstr7|'
275 r'groupmatchstr8|'
276 r'groupmatchstr9|'
277 r'inputstr|'
278 r'matchstr|'
279 r'mtimeout|'
280 r'param1|'
281 r'param2|'
282 r'param3|'
283 r'param4|'
284 r'param5|'
285 r'param6|'
286 r'param7|'
287 r'param8|'
288 r'param9|'
289 r'paramcnt|'
290 r'params|'
291 r'result|'
292 r'timeout'
114 r')\b', 293 r')\b',
115 Name.Builtin 294 Name.Builtin
116 ), 295 ),
117 ], 296 ],
118 'user-variables': [ 297 'user-variables': [
119 (r'(?i)[A-Z_][A-Z0-9_]*', Name.Variable), 298 (r'(?i)[a-z_][a-z0-9_]*', Name.Variable),
120 ], 299 ],
121 'numeric-literals': [ 300 'numeric-literals': [
122 (r'(-?)([0-9]+)', bygroups(Operator, Number.Integer)), 301 (r'(-?)([0-9]+)', bygroups(Operator, Number.Integer)),
123 (r'(?i)\$[0-9a-f]+', Number.Hex), 302 (r'(?i)\$[0-9a-f]+', Number.Hex),
124 ], 303 ],
126 (r'(?i)#(?:[0-9]+|\$[0-9a-f]+)', String.Char), 305 (r'(?i)#(?:[0-9]+|\$[0-9a-f]+)', String.Char),
127 (r"'", String.Single, 'in-single-string'), 306 (r"'", String.Single, 'in-single-string'),
128 (r'"', String.Double, 'in-double-string'), 307 (r'"', String.Double, 'in-double-string'),
129 ], 308 ],
130 'in-general-string': [ 309 'in-general-string': [
131 (r'[\\][\\nt]', String.Escape), # Only three escapes are supported. 310 (r'\\[\\nt]', String.Escape), # Only three escapes are supported.
132 (r'.', String), 311 (r'.', String),
133 ], 312 ],
134 'in-single-string': [ 313 'in-single-string': [
135 (r"'", String.Single, '#pop'), 314 (r"'", String.Single, '#pop'),
136 include('in-general-string'), 315 include('in-general-string'),
143 (r'and|not|or|xor', Operator.Word), 322 (r'and|not|or|xor', Operator.Word),
144 (r'[!%&*+<=>^~\|\/-]+', Operator), 323 (r'[!%&*+<=>^~\|\/-]+', Operator),
145 (r'[()]', String.Symbol), 324 (r'[()]', String.Symbol),
146 ], 325 ],
147 'all-whitespace': [ 326 'all-whitespace': [
148 (r'[\s]+', Text), 327 (r'\s+', Text),
149 ], 328 ],
150 } 329 }
151 330
152 # Turtle and Tera Term macro files share the same file extension 331 # Turtle and Tera Term macro files share the same file extension
153 # but each has a recognizable and distinct syntax. 332 # but each has a recognizable and distinct syntax.
154 def analyse_text(text): 333 def analyse_text(text):
155 result = 0.0
156 if re.search(TeraTermLexer.tokens['commands'][0][0], text): 334 if re.search(TeraTermLexer.tokens['commands'][0][0], text):
157 result += 0.01 335 return 0.01
158 return result

eric ide

mercurial