Linux jobworks 6.8.0-136-generic #136-Ubuntu SMP PREEMPT_DYNAMIC Wed Jul 1 21:53:05 UTC 2026 x86_64
Apache/2.4.58 (Ubuntu)
Server IP : 10.0.1.5 & Your IP : 216.73.217.52
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
lib /
python3 /
dist-packages /
pygments /
lexers /
Delete
Unzip
Name
Size
Permission
Date
Action
__pycache__
[ DIR ]
drwxr-xr-x
2025-08-05 17:02
__init__.py
11.83
KB
-rw-r--r--
2024-02-02 13:26
_ada_builtins.py
1.51
KB
-rw-r--r--
2024-02-02 13:26
_asy_builtins.py
26.65
KB
-rw-r--r--
2024-02-02 13:26
_cl_builtins.py
13.67
KB
-rw-r--r--
2024-02-02 13:26
_cocoa_builtins.py
102.72
KB
-rw-r--r--
2024-02-02 13:26
_csound_builtins.py
17.98
KB
-rw-r--r--
2024-02-02 13:26
_css_builtins.py
12.15
KB
-rw-r--r--
2024-02-02 13:26
_julia_builtins.py
11.6
KB
-rw-r--r--
2024-02-02 13:26
_lasso_builtins.py
131.36
KB
-rw-r--r--
2024-02-02 13:26
_lilypond_builtins.py
105.56
KB
-rw-r--r--
2024-02-02 13:26
_lua_builtins.py
7.93
KB
-rw-r--r--
2024-02-02 13:26
_mapping.py
66.43
KB
-rw-r--r--
2024-02-02 13:26
_mql_builtins.py
24.13
KB
-rw-r--r--
2024-02-02 13:26
_mysql_builtins.py
25.24
KB
-rw-r--r--
2024-02-02 13:26
_openedge_builtins.py
48.24
KB
-rw-r--r--
2024-02-02 13:26
_php_builtins.py
105.4
KB
-rw-r--r--
2024-02-02 13:26
_postgres_builtins.py
13.04
KB
-rw-r--r--
2024-02-02 13:26
_qlik_builtins.py
12.3
KB
-rw-r--r--
2024-02-02 13:26
_scheme_builtins.py
31.8
KB
-rw-r--r--
2024-02-02 13:26
_scilab_builtins.py
51.18
KB
-rw-r--r--
2024-02-02 13:26
_sourcemod_builtins.py
26.15
KB
-rw-r--r--
2024-02-02 13:26
_stan_builtins.py
13.13
KB
-rw-r--r--
2024-02-02 13:26
_stata_builtins.py
26.59
KB
-rw-r--r--
2024-02-02 13:26
_tsql_builtins.py
15.1
KB
-rw-r--r--
2024-02-02 13:26
_usd_builtins.py
1.62
KB
-rw-r--r--
2024-02-02 13:26
_vbscript_builtins.py
4.13
KB
-rw-r--r--
2024-02-02 13:26
_vim_builtins.py
55.73
KB
-rw-r--r--
2024-02-02 13:26
actionscript.py
11.4
KB
-rw-r--r--
2024-02-02 13:26
ada.py
5.2
KB
-rw-r--r--
2024-02-02 13:26
agile.py
876
B
-rw-r--r--
2024-02-02 13:26
algebra.py
9.64
KB
-rw-r--r--
2024-02-02 13:26
ambient.py
2.54
KB
-rw-r--r--
2024-02-02 13:26
amdgpu.py
1.63
KB
-rw-r--r--
2024-02-02 13:26
ampl.py
4.08
KB
-rw-r--r--
2024-02-02 13:26
apdlexer.py
30.04
KB
-rw-r--r--
2024-02-02 13:26
apl.py
3.33
KB
-rw-r--r--
2024-02-02 13:26
archetype.py
11.2
KB
-rw-r--r--
2024-02-02 13:26
arrow.py
3.48
KB
-rw-r--r--
2024-02-02 13:26
arturo.py
11.15
KB
-rw-r--r--
2024-02-02 13:26
asc.py
1.62
KB
-rw-r--r--
2024-02-02 13:26
asm.py
40.28
KB
-rw-r--r--
2024-02-02 13:26
asn1.py
4.16
KB
-rw-r--r--
2024-02-02 13:26
automation.py
19.35
KB
-rw-r--r--
2024-02-02 13:26
bare.py
2.95
KB
-rw-r--r--
2024-02-02 13:26
basic.py
27.27
KB
-rw-r--r--
2024-02-02 13:26
bdd.py
1.61
KB
-rw-r--r--
2024-02-02 13:26
berry.py
3.14
KB
-rw-r--r--
2024-02-02 13:26
bibtex.py
4.61
KB
-rw-r--r--
2024-02-02 13:26
blueprint.py
6.04
KB
-rw-r--r--
2024-02-02 13:26
boa.py
3.82
KB
-rw-r--r--
2024-02-02 13:26
bqn.py
3.26
KB
-rw-r--r--
2024-02-02 13:26
business.py
27.45
KB
-rw-r--r--
2024-02-02 13:26
c_cpp.py
17.53
KB
-rw-r--r--
2024-02-02 13:26
c_like.py
28.52
KB
-rw-r--r--
2024-02-02 13:26
capnproto.py
2.12
KB
-rw-r--r--
2024-02-02 13:26
carbon.py
3.15
KB
-rw-r--r--
2024-02-02 13:26
cddl.py
5.06
KB
-rw-r--r--
2024-02-02 13:26
chapel.py
5.04
KB
-rw-r--r--
2024-02-02 13:26
clean.py
6.25
KB
-rw-r--r--
2024-02-02 13:26
comal.py
3.08
KB
-rw-r--r--
2024-02-02 13:26
compiled.py
1.37
KB
-rw-r--r--
2024-02-02 13:26
configs.py
48.9
KB
-rw-r--r--
2024-02-02 13:26
console.py
4.05
KB
-rw-r--r--
2024-02-02 13:26
cplint.py
1.36
KB
-rw-r--r--
2024-02-02 13:26
crystal.py
15.39
KB
-rw-r--r--
2024-02-02 13:26
csound.py
16.6
KB
-rw-r--r--
2024-02-02 13:26
css.py
24.73
KB
-rw-r--r--
2024-02-02 13:26
d.py
9.64
KB
-rw-r--r--
2024-02-02 13:26
dalvik.py
4.5
KB
-rw-r--r--
2024-02-02 13:26
data.py
26.4
KB
-rw-r--r--
2024-02-02 13:26
dax.py
7.91
KB
-rw-r--r--
2024-02-02 13:26
devicetree.py
3.93
KB
-rw-r--r--
2024-02-02 13:26
diff.py
5.15
KB
-rw-r--r--
2024-02-02 13:26
dns.py
3.69
KB
-rw-r--r--
2024-02-02 13:26
dotnet.py
36.74
KB
-rw-r--r--
2024-02-02 13:26
dsls.py
35.92
KB
-rw-r--r--
2024-02-02 13:26
dylan.py
10.08
KB
-rw-r--r--
2024-02-02 13:26
ecl.py
6.22
KB
-rw-r--r--
2024-02-02 13:26
eiffel.py
2.63
KB
-rw-r--r--
2024-02-02 13:26
elm.py
3.08
KB
-rw-r--r--
2024-02-02 13:26
elpi.py
6.55
KB
-rw-r--r--
2024-02-02 13:26
email.py
4.63
KB
-rw-r--r--
2024-02-02 13:26
erlang.py
18.72
KB
-rw-r--r--
2024-02-02 13:26
esoteric.py
10.15
KB
-rw-r--r--
2024-02-02 13:26
ezhil.py
3.2
KB
-rw-r--r--
2024-02-02 13:26
factor.py
19.07
KB
-rw-r--r--
2024-02-02 13:26
fantom.py
9.96
KB
-rw-r--r--
2024-02-02 13:26
felix.py
9.42
KB
-rw-r--r--
2024-02-02 13:26
fift.py
1.58
KB
-rw-r--r--
2024-02-02 13:26
floscript.py
2.61
KB
-rw-r--r--
2024-02-02 13:26
forth.py
7.03
KB
-rw-r--r--
2024-02-02 13:26
fortran.py
10.1
KB
-rw-r--r--
2024-02-02 13:26
foxpro.py
25.6
KB
-rw-r--r--
2024-02-02 13:26
freefem.py
26.28
KB
-rw-r--r--
2024-02-02 13:26
func.py
3.54
KB
-rw-r--r--
2024-02-02 13:26
functional.py
674
B
-rw-r--r--
2024-02-02 13:26
futhark.py
3.64
KB
-rw-r--r--
2024-02-02 13:26
gcodelexer.py
826
B
-rw-r--r--
2024-02-02 13:26
gdscript.py
7.37
KB
-rw-r--r--
2024-02-02 13:26
go.py
3.7
KB
-rw-r--r--
2024-02-02 13:26
grammar_notation.py
7.79
KB
-rw-r--r--
2024-02-02 13:26
graph.py
4.01
KB
-rw-r--r--
2024-02-02 13:26
graphics.py
38.11
KB
-rw-r--r--
2024-02-02 13:26
graphql.py
5.47
KB
-rw-r--r--
2024-02-02 13:26
graphviz.py
1.89
KB
-rw-r--r--
2024-02-02 13:26
gsql.py
3.9
KB
-rwxr-xr-x
2024-02-02 13:26
haskell.py
32.13
KB
-rw-r--r--
2024-02-02 13:26
haxe.py
30.25
KB
-rw-r--r--
2024-02-02 13:26
hdl.py
21.99
KB
-rw-r--r--
2024-02-02 13:26
hexdump.py
3.52
KB
-rw-r--r--
2024-02-02 13:26
html.py
19.79
KB
-rw-r--r--
2024-02-02 13:26
idl.py
15.09
KB
-rw-r--r--
2024-02-02 13:26
igor.py
30.92
KB
-rw-r--r--
2024-02-02 13:26
inferno.py
3.06
KB
-rw-r--r--
2024-02-02 13:26
installers.py
12.87
KB
-rw-r--r--
2024-02-02 13:26
int_fiction.py
55.78
KB
-rw-r--r--
2024-02-02 13:26
iolang.py
1.86
KB
-rw-r--r--
2024-02-02 13:26
j.py
4.74
KB
-rw-r--r--
2024-02-02 13:26
javascript.py
61.39
KB
-rw-r--r--
2024-02-02 13:26
jmespath.py
2.01
KB
-rw-r--r--
2024-02-02 13:26
jslt.py
3.61
KB
-rw-r--r--
2024-02-02 13:26
jsonnet.py
5.5
KB
-rw-r--r--
2024-02-02 13:26
jsx.py
2.18
KB
-rw-r--r--
2024-02-02 13:26
julia.py
11.37
KB
-rw-r--r--
2024-02-02 13:26
jvm.py
71.22
KB
-rw-r--r--
2024-02-02 13:26
kuin.py
11.14
KB
-rw-r--r--
2024-02-02 13:26
kusto.py
3.4
KB
-rw-r--r--
2024-02-02 13:26
ldap.py
6.4
KB
-rw-r--r--
2024-02-02 13:26
lean.py
4.2
KB
-rw-r--r--
2024-02-02 13:26
lilypond.py
9.52
KB
-rw-r--r--
2024-02-02 13:26
lisp.py
141.01
KB
-rw-r--r--
2024-02-02 13:26
macaulay2.py
31.42
KB
-rw-r--r--
2024-02-02 13:26
make.py
7.51
KB
-rw-r--r--
2024-02-02 13:26
markup.py
58.84
KB
-rw-r--r--
2024-02-02 13:26
math.py
676
B
-rw-r--r--
2024-02-02 13:26
matlab.py
129.74
KB
-rw-r--r--
2024-02-02 13:26
maxima.py
2.65
KB
-rw-r--r--
2024-02-02 13:26
meson.py
4.24
KB
-rw-r--r--
2024-02-02 13:26
mime.py
7.36
KB
-rw-r--r--
2024-02-02 13:26
minecraft.py
13.49
KB
-rw-r--r--
2024-02-02 13:26
mips.py
4.5
KB
-rw-r--r--
2024-02-02 13:26
ml.py
34.49
KB
-rw-r--r--
2024-02-02 13:26
modeling.py
13.21
KB
-rw-r--r--
2024-02-02 13:26
modula2.py
51.83
KB
-rw-r--r--
2024-02-02 13:26
monte.py
6.14
KB
-rw-r--r--
2024-02-02 13:26
mosel.py
8.97
KB
-rw-r--r--
2024-02-02 13:26
ncl.py
62.46
KB
-rw-r--r--
2024-02-02 13:26
nimrod.py
6.27
KB
-rw-r--r--
2024-02-02 13:26
nit.py
2.66
KB
-rw-r--r--
2024-02-02 13:26
nix.py
4.29
KB
-rw-r--r--
2024-02-02 13:26
oberon.py
4.07
KB
-rw-r--r--
2024-02-02 13:26
objective.py
22.42
KB
-rw-r--r--
2024-02-02 13:26
ooc.py
2.91
KB
-rw-r--r--
2024-02-02 13:26
openscad.py
3.61
KB
-rw-r--r--
2024-02-02 13:26
other.py
1.7
KB
-rw-r--r--
2024-02-02 13:26
parasail.py
2.66
KB
-rw-r--r--
2024-02-02 13:26
parsers.py
25.3
KB
-rw-r--r--
2024-02-02 13:26
pascal.py
30.16
KB
-rw-r--r--
2024-02-02 13:26
pawn.py
7.96
KB
-rw-r--r--
2024-02-02 13:26
perl.py
38.25
KB
-rw-r--r--
2024-02-02 13:26
phix.py
22.71
KB
-rw-r--r--
2024-02-02 13:26
php.py
12.73
KB
-rw-r--r--
2024-02-02 13:26
pointless.py
1.93
KB
-rw-r--r--
2024-02-02 13:26
pony.py
3.17
KB
-rw-r--r--
2024-02-02 13:26
praat.py
12.38
KB
-rw-r--r--
2024-02-02 13:26
procfile.py
1.13
KB
-rw-r--r--
2024-02-02 13:26
prolog.py
12.21
KB
-rw-r--r--
2024-02-02 13:26
promql.py
4.6
KB
-rw-r--r--
2024-02-02 13:26
prql.py
8.54
KB
-rw-r--r--
2024-02-02 13:26
ptx.py
4.4
KB
-rw-r--r--
2024-02-02 13:26
python.py
52.15
KB
-rw-r--r--
2024-02-02 13:26
q.py
6.77
KB
-rw-r--r--
2024-02-02 13:26
qlik.py
3.58
KB
-rw-r--r--
2024-02-02 13:26
qvt.py
5.93
KB
-rw-r--r--
2024-02-02 13:26
r.py
6.04
KB
-rw-r--r--
2024-02-02 13:26
rdf.py
15.61
KB
-rw-r--r--
2024-02-02 13:26
rebol.py
17.82
KB
-rw-r--r--
2024-02-02 13:26
resource.py
2.83
KB
-rw-r--r--
2024-02-02 13:26
ride.py
4.94
KB
-rw-r--r--
2024-02-02 13:26
rita.py
1.1
KB
-rw-r--r--
2024-02-02 13:26
rnc.py
1.93
KB
-rw-r--r--
2024-02-02 13:26
roboconf.py
1.92
KB
-rw-r--r--
2024-02-02 13:26
robotframework.py
18.02
KB
-rw-r--r--
2024-02-02 13:26
ruby.py
22.14
KB
-rw-r--r--
2024-02-02 13:26
rust.py
8.02
KB
-rw-r--r--
2024-02-02 13:26
sas.py
9.18
KB
-rw-r--r--
2024-02-02 13:26
savi.py
4.54
KB
-rw-r--r--
2024-02-02 13:26
scdoc.py
2.47
KB
-rw-r--r--
2024-02-02 13:26
scripting.py
68.37
KB
-rw-r--r--
2024-02-02 13:26
sgf.py
1.94
KB
-rw-r--r--
2024-02-02 13:26
shell.py
35.61
KB
-rw-r--r--
2024-02-02 13:26
sieve.py
2.38
KB
-rw-r--r--
2024-02-02 13:26
slash.py
8.28
KB
-rw-r--r--
2024-02-02 13:26
smalltalk.py
7.04
KB
-rw-r--r--
2024-02-02 13:26
smithy.py
2.6
KB
-rw-r--r--
2024-02-02 13:26
smv.py
2.71
KB
-rw-r--r--
2024-02-02 13:26
snobol.py
2.67
KB
-rw-r--r--
2024-02-02 13:26
solidity.py
3.05
KB
-rw-r--r--
2024-02-02 13:26
sophia.py
3.25
KB
-rw-r--r--
2024-02-02 13:26
special.py
3.33
KB
-rw-r--r--
2024-02-02 13:26
spice.py
2.67
KB
-rw-r--r--
2024-02-02 13:26
sql.py
41.12
KB
-rw-r--r--
2024-02-02 13:26
srcinfo.py
1.65
KB
-rw-r--r--
2024-02-02 13:26
stata.py
6.27
KB
-rw-r--r--
2024-02-02 13:26
supercollider.py
3.61
KB
-rw-r--r--
2024-02-02 13:26
tal.py
2.83
KB
-rw-r--r--
2024-02-02 13:26
tcl.py
5.38
KB
-rw-r--r--
2024-02-02 13:26
teal.py
3.44
KB
-rw-r--r--
2024-02-02 13:26
templates.py
70.91
KB
-rw-r--r--
2024-02-02 13:26
teraterm.py
9.49
KB
-rw-r--r--
2024-02-02 13:26
testing.py
10.51
KB
-rw-r--r--
2024-02-02 13:26
text.py
1
KB
-rw-r--r--
2024-02-02 13:26
textedit.py
7.43
KB
-rw-r--r--
2024-02-02 13:26
textfmts.py
14.95
KB
-rw-r--r--
2024-02-02 13:26
theorem.py
16.27
KB
-rw-r--r--
2024-02-02 13:26
thingsdb.py
4.13
KB
-rw-r--r--
2024-02-02 13:26
tlb.py
1.34
KB
-rw-r--r--
2024-02-02 13:26
tls.py
1.5
KB
-rw-r--r--
2024-02-02 13:26
tnt.py
10.21
KB
-rw-r--r--
2024-02-02 13:26
trafficscript.py
1.44
KB
-rw-r--r--
2024-02-02 13:26
typoscript.py
8.01
KB
-rw-r--r--
2024-02-02 13:26
ul4.py
8.75
KB
-rw-r--r--
2024-02-02 13:26
unicon.py
18.08
KB
-rw-r--r--
2024-02-02 13:26
urbi.py
5.9
KB
-rw-r--r--
2024-02-02 13:26
usd.py
3.43
KB
-rw-r--r--
2024-02-02 13:26
varnish.py
7.1
KB
-rw-r--r--
2024-02-02 13:26
verification.py
3.79
KB
-rw-r--r--
2024-02-02 13:26
verifpal.py
2.6
KB
-rw-r--r--
2024-02-02 13:26
vip.py
5.58
KB
-rw-r--r--
2024-02-02 13:26
vyper.py
5.46
KB
-rw-r--r--
2024-02-02 13:26
web.py
894
B
-rw-r--r--
2024-02-02 13:26
webassembly.py
5.57
KB
-rw-r--r--
2024-02-02 13:26
webidl.py
10.27
KB
-rw-r--r--
2024-02-02 13:26
webmisc.py
39.6
KB
-rw-r--r--
2024-02-02 13:26
wgsl.py
11.64
KB
-rw-r--r--
2024-02-02 13:26
whiley.py
3.92
KB
-rw-r--r--
2024-02-02 13:26
wowtoc.py
3.93
KB
-rw-r--r--
2024-02-02 13:26
wren.py
3.16
KB
-rw-r--r--
2024-02-02 13:26
x10.py
1.88
KB
-rw-r--r--
2024-02-02 13:26
xorg.py
902
B
-rw-r--r--
2024-02-02 13:26
yang.py
4.39
KB
-rw-r--r--
2024-02-02 13:26
yara.py
2.37
KB
-rw-r--r--
2024-02-02 13:26
zig.py
3.86
KB
-rw-r--r--
2024-02-02 13:26
Save
Rename
""" pygments.lexers.c_like ~~~~~~~~~~~~~~~~~~~~~~ Lexers for other C-like languages. :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re from pygments.lexer import RegexLexer, include, bygroups, inherit, words, \ default from pygments.token import Text, Comment, Operator, Keyword, Name, String, \ Number, Punctuation, Whitespace from pygments.lexers.c_cpp import CLexer, CppLexer from pygments.lexers import _mql_builtins __all__ = ['PikeLexer', 'NesCLexer', 'ClayLexer', 'ECLexer', 'ValaLexer', 'CudaLexer', 'SwigLexer', 'MqlLexer', 'ArduinoLexer', 'CharmciLexer', 'OmgIdlLexer'] class PikeLexer(CppLexer): """ For `Pike <http://pike.lysator.liu.se/>`_ source code. .. versionadded:: 2.0 """ name = 'Pike' aliases = ['pike'] filenames = ['*.pike', '*.pmod'] mimetypes = ['text/x-pike'] tokens = { 'statements': [ (words(( 'catch', 'new', 'private', 'protected', 'public', 'gauge', 'throw', 'throws', 'class', 'interface', 'implement', 'abstract', 'extends', 'from', 'this', 'super', 'constant', 'final', 'static', 'import', 'use', 'extern', 'inline', 'proto', 'break', 'continue', 'if', 'else', 'for', 'while', 'do', 'switch', 'case', 'as', 'in', 'version', 'return', 'true', 'false', 'null', '__VERSION__', '__MAJOR__', '__MINOR__', '__BUILD__', '__REAL_VERSION__', '__REAL_MAJOR__', '__REAL_MINOR__', '__REAL_BUILD__', '__DATE__', '__TIME__', '__FILE__', '__DIR__', '__LINE__', '__AUTO_BIGNUM__', '__NT__', '__PIKE__', '__amigaos__', '_Pragma', 'static_assert', 'defined', 'sscanf'), suffix=r'\b'), Keyword), (r'(bool|int|long|float|short|double|char|string|object|void|mapping|' r'array|multiset|program|function|lambda|mixed|' r'[a-z_][a-z0-9_]*_t)\b', Keyword.Type), (r'(class)(\s+)', bygroups(Keyword, Whitespace), 'classname'), (r'[~!%^&*+=|?:<>/@-]', Operator), inherit, ], 'classname': [ (r'[a-zA-Z_]\w*', Name.Class, '#pop'), # template specification (r'\s*(?=>)', Whitespace, '#pop'), ], } class NesCLexer(CLexer): """ For `nesC <https://github.com/tinyos/nesc>`_ source code with preprocessor directives. .. versionadded:: 2.0 """ name = 'nesC' aliases = ['nesc'] filenames = ['*.nc'] mimetypes = ['text/x-nescsrc'] tokens = { 'statements': [ (words(( 'abstract', 'as', 'async', 'atomic', 'call', 'command', 'component', 'components', 'configuration', 'event', 'extends', 'generic', 'implementation', 'includes', 'interface', 'module', 'new', 'norace', 'post', 'provides', 'signal', 'task', 'uses'), suffix=r'\b'), Keyword), (words(('nx_struct', 'nx_union', 'nx_int8_t', 'nx_int16_t', 'nx_int32_t', 'nx_int64_t', 'nx_uint8_t', 'nx_uint16_t', 'nx_uint32_t', 'nx_uint64_t'), suffix=r'\b'), Keyword.Type), inherit, ], } class ClayLexer(RegexLexer): """ For `Clay <http://claylabs.com/clay/>`_ source. .. versionadded:: 2.0 """ name = 'Clay' filenames = ['*.clay'] aliases = ['clay'] mimetypes = ['text/x-clay'] tokens = { 'root': [ (r'\s+', Whitespace), (r'//.*?$', Comment.Single), (r'/(\\\n)?[*](.|\n)*?[*](\\\n)?/', Comment.Multiline), (r'\b(public|private|import|as|record|variant|instance' r'|define|overload|default|external|alias' r'|rvalue|ref|forward|inline|noinline|forceinline' r'|enum|var|and|or|not|if|else|goto|return|while' r'|switch|case|break|continue|for|in|true|false|try|catch|throw' r'|finally|onerror|staticassert|eval|when|newtype' r'|__FILE__|__LINE__|__COLUMN__|__ARG__' r')\b', Keyword), (r'[~!%^&*+=|:<>/-]', Operator), (r'[#(){}\[\],;.]', Punctuation), (r'0x[0-9a-fA-F]+[LlUu]*', Number.Hex), (r'\d+[LlUu]*', Number.Integer), (r'\b(true|false)\b', Name.Builtin), (r'(?i)[a-z_?][\w?]*', Name), (r'"""', String, 'tdqs'), (r'"', String, 'dqs'), ], 'strings': [ (r'(?i)\\(x[0-9a-f]{2}|.)', String.Escape), (r'[^\\"]+', String), ], 'nl': [ (r'\n', String), ], 'dqs': [ (r'"', String, '#pop'), include('strings'), ], 'tdqs': [ (r'"""', String, '#pop'), include('strings'), include('nl'), ], } class ECLexer(CLexer): """ For eC source code with preprocessor directives. .. versionadded:: 1.5 """ name = 'eC' aliases = ['ec'] filenames = ['*.ec', '*.eh'] mimetypes = ['text/x-echdr', 'text/x-ecsrc'] tokens = { 'statements': [ (words(( 'virtual', 'class', 'private', 'public', 'property', 'import', 'delete', 'new', 'new0', 'renew', 'renew0', 'define', 'get', 'set', 'remote', 'dllexport', 'dllimport', 'stdcall', 'subclass', '__on_register_module', 'namespace', 'using', 'typed_object', 'any_object', 'incref', 'register', 'watch', 'stopwatching', 'firewatchers', 'watchable', 'class_designer', 'class_fixed', 'class_no_expansion', 'isset', 'class_default_property', 'property_category', 'class_data', 'class_property', 'thisclass', 'dbtable', 'dbindex', 'database_open', 'dbfield'), suffix=r'\b'), Keyword), (words(('uint', 'uint16', 'uint32', 'uint64', 'bool', 'byte', 'unichar', 'int64'), suffix=r'\b'), Keyword.Type), (r'(class)(\s+)', bygroups(Keyword, Whitespace), 'classname'), (r'(null|value|this)\b', Name.Builtin), inherit, ] } class ValaLexer(RegexLexer): """ For Vala source code with preprocessor directives. .. versionadded:: 1.1 """ name = 'Vala' aliases = ['vala', 'vapi'] filenames = ['*.vala', '*.vapi'] mimetypes = ['text/x-vala'] tokens = { 'whitespace': [ (r'^\s*#if\s+0', Comment.Preproc, 'if0'), (r'\n', Whitespace), (r'\s+', Whitespace), (r'\\\n', Text), # line continuation (r'//(\n|(.|\n)*?[^\\]\n)', Comment.Single), (r'/(\\\n)?[*](.|\n)*?[*](\\\n)?/', Comment.Multiline), ], 'statements': [ (r'[L@]?"', String, 'string'), (r"L?'(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])'", String.Char), (r'(?s)""".*?"""', String), # verbatim strings (r'(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[lL]?', Number.Float), (r'(\d+\.\d*|\.\d+|\d+[fF])[fF]?', Number.Float), (r'0x[0-9a-fA-F]+[Ll]?', Number.Hex), (r'0[0-7]+[Ll]?', Number.Oct), (r'\d+[Ll]?', Number.Integer), (r'[~!%^&*+=|?:<>/-]', Operator), (r'(\[)(Compact|Immutable|(?:Boolean|Simple)Type)(\])', bygroups(Punctuation, Name.Decorator, Punctuation)), # TODO: "correctly" parse complex code attributes (r'(\[)(CCode|(?:Integer|Floating)Type)', bygroups(Punctuation, Name.Decorator)), (r'[()\[\],.]', Punctuation), (words(( 'as', 'base', 'break', 'case', 'catch', 'construct', 'continue', 'default', 'delete', 'do', 'else', 'enum', 'finally', 'for', 'foreach', 'get', 'if', 'in', 'is', 'lock', 'new', 'out', 'params', 'return', 'set', 'sizeof', 'switch', 'this', 'throw', 'try', 'typeof', 'while', 'yield'), suffix=r'\b'), Keyword), (words(( 'abstract', 'const', 'delegate', 'dynamic', 'ensures', 'extern', 'inline', 'internal', 'override', 'owned', 'private', 'protected', 'public', 'ref', 'requires', 'signal', 'static', 'throws', 'unowned', 'var', 'virtual', 'volatile', 'weak', 'yields'), suffix=r'\b'), Keyword.Declaration), (r'(namespace|using)(\s+)', bygroups(Keyword.Namespace, Whitespace), 'namespace'), (r'(class|errordomain|interface|struct)(\s+)', bygroups(Keyword.Declaration, Whitespace), 'class'), (r'(\.)([a-zA-Z_]\w*)', bygroups(Operator, Name.Attribute)), # void is an actual keyword, others are in glib-2.0.vapi (words(( 'void', 'bool', 'char', 'double', 'float', 'int', 'int8', 'int16', 'int32', 'int64', 'long', 'short', 'size_t', 'ssize_t', 'string', 'time_t', 'uchar', 'uint', 'uint8', 'uint16', 'uint32', 'uint64', 'ulong', 'unichar', 'ushort'), suffix=r'\b'), Keyword.Type), (r'(true|false|null)\b', Name.Builtin), (r'[a-zA-Z_]\w*', Name), ], 'root': [ include('whitespace'), default('statement'), ], 'statement': [ include('whitespace'), include('statements'), ('[{}]', Punctuation), (';', Punctuation, '#pop'), ], 'string': [ (r'"', String, '#pop'), (r'\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})', String.Escape), (r'[^\\"\n]+', String), # all other characters (r'\\\n', String), # line continuation (r'\\', String), # stray backslash ], 'if0': [ (r'^\s*#if.*?(?<!\\)\n', Comment.Preproc, '#push'), (r'^\s*#el(?:se|if).*\n', Comment.Preproc, '#pop'), (r'^\s*#endif.*?(?<!\\)\n', Comment.Preproc, '#pop'), (r'.*?\n', Comment), ], 'class': [ (r'[a-zA-Z_]\w*', Name.Class, '#pop') ], 'namespace': [ (r'[a-zA-Z_][\w.]*', Name.Namespace, '#pop') ], } class CudaLexer(CLexer): """ For NVIDIA `CUDA™ <http://developer.nvidia.com/category/zone/cuda-zone>`_ source. .. versionadded:: 1.6 """ name = 'CUDA' filenames = ['*.cu', '*.cuh'] aliases = ['cuda', 'cu'] mimetypes = ['text/x-cuda'] function_qualifiers = {'__device__', '__global__', '__host__', '__noinline__', '__forceinline__'} variable_qualifiers = {'__device__', '__constant__', '__shared__', '__restrict__'} vector_types = {'char1', 'uchar1', 'char2', 'uchar2', 'char3', 'uchar3', 'char4', 'uchar4', 'short1', 'ushort1', 'short2', 'ushort2', 'short3', 'ushort3', 'short4', 'ushort4', 'int1', 'uint1', 'int2', 'uint2', 'int3', 'uint3', 'int4', 'uint4', 'long1', 'ulong1', 'long2', 'ulong2', 'long3', 'ulong3', 'long4', 'ulong4', 'longlong1', 'ulonglong1', 'longlong2', 'ulonglong2', 'float1', 'float2', 'float3', 'float4', 'double1', 'double2', 'dim3'} variables = {'gridDim', 'blockIdx', 'blockDim', 'threadIdx', 'warpSize'} functions = {'__threadfence_block', '__threadfence', '__threadfence_system', '__syncthreads', '__syncthreads_count', '__syncthreads_and', '__syncthreads_or'} execution_confs = {'<<<', '>>>'} def get_tokens_unprocessed(self, text, stack=('root',)): for index, token, value in CLexer.get_tokens_unprocessed(self, text, stack): if token is Name: if value in self.variable_qualifiers: token = Keyword.Type elif value in self.vector_types: token = Keyword.Type elif value in self.variables: token = Name.Builtin elif value in self.execution_confs: token = Keyword.Pseudo elif value in self.function_qualifiers: token = Keyword.Reserved elif value in self.functions: token = Name.Function yield index, token, value class SwigLexer(CppLexer): """ For `SWIG <http://www.swig.org/>`_ source code. .. versionadded:: 2.0 """ name = 'SWIG' aliases = ['swig'] filenames = ['*.swg', '*.i'] mimetypes = ['text/swig'] priority = 0.04 # Lower than C/C++ and Objective C/C++ tokens = { 'root': [ # Match it here so it won't be matched as a function in the rest of root (r'\$\**\&?\w+', Name), inherit ], 'statements': [ # SWIG directives (r'(%[a-z_][a-z0-9_]*)', Name.Function), # Special variables (r'\$\**\&?\w+', Name), # Stringification / additional preprocessor directives (r'##*[a-zA-Z_]\w*', Comment.Preproc), inherit, ], } # This is a far from complete set of SWIG directives swig_directives = { # Most common directives '%apply', '%define', '%director', '%enddef', '%exception', '%extend', '%feature', '%fragment', '%ignore', '%immutable', '%import', '%include', '%inline', '%insert', '%module', '%newobject', '%nspace', '%pragma', '%rename', '%shared_ptr', '%template', '%typecheck', '%typemap', # Less common directives '%arg', '%attribute', '%bang', '%begin', '%callback', '%catches', '%clear', '%constant', '%copyctor', '%csconst', '%csconstvalue', '%csenum', '%csmethodmodifiers', '%csnothrowexception', '%default', '%defaultctor', '%defaultdtor', '%defined', '%delete', '%delobject', '%descriptor', '%exceptionclass', '%exceptionvar', '%extend_smart_pointer', '%fragments', '%header', '%ifcplusplus', '%ignorewarn', '%implicit', '%implicitconv', '%init', '%javaconst', '%javaconstvalue', '%javaenum', '%javaexception', '%javamethodmodifiers', '%kwargs', '%luacode', '%mutable', '%naturalvar', '%nestedworkaround', '%perlcode', '%pythonabc', '%pythonappend', '%pythoncallback', '%pythoncode', '%pythondynamic', '%pythonmaybecall', '%pythonnondynamic', '%pythonprepend', '%refobject', '%shadow', '%sizeof', '%trackobjects', '%types', '%unrefobject', '%varargs', '%warn', '%warnfilter'} def analyse_text(text): rv = 0 # Search for SWIG directives, which are conventionally at the beginning of # a line. The probability of them being within a line is low, so let another # lexer win in this case. matches = re.findall(r'^\s*(%[a-z_][a-z0-9_]*)', text, re.M) for m in matches: if m in SwigLexer.swig_directives: rv = 0.98 break else: rv = 0.91 # Fraction higher than MatlabLexer return rv class MqlLexer(CppLexer): """ For `MQL4 <http://docs.mql4.com/>`_ and `MQL5 <http://www.mql5.com/en/docs>`_ source code. .. versionadded:: 2.0 """ name = 'MQL' aliases = ['mql', 'mq4', 'mq5', 'mql4', 'mql5'] filenames = ['*.mq4', '*.mq5', '*.mqh'] mimetypes = ['text/x-mql'] tokens = { 'statements': [ (words(_mql_builtins.keywords, suffix=r'\b'), Keyword), (words(_mql_builtins.c_types, suffix=r'\b'), Keyword.Type), (words(_mql_builtins.types, suffix=r'\b'), Name.Function), (words(_mql_builtins.constants, suffix=r'\b'), Name.Constant), (words(_mql_builtins.colors, prefix='(clr)?', suffix=r'\b'), Name.Constant), inherit, ], } class ArduinoLexer(CppLexer): """ For `Arduino(tm) <https://arduino.cc/>`_ source. This is an extension of the CppLexer, as the Arduino® Language is a superset of C++ .. versionadded:: 2.1 """ name = 'Arduino' aliases = ['arduino'] filenames = ['*.ino'] mimetypes = ['text/x-arduino'] # Language sketch main structure functions structure = {'setup', 'loop'} # Language operators operators = {'not', 'or', 'and', 'xor'} # Language 'variables' variables = { 'DIGITAL_MESSAGE', 'FIRMATA_STRING', 'ANALOG_MESSAGE', 'REPORT_DIGITAL', 'REPORT_ANALOG', 'INPUT_PULLUP', 'SET_PIN_MODE', 'INTERNAL2V56', 'SYSTEM_RESET', 'LED_BUILTIN', 'INTERNAL1V1', 'SYSEX_START', 'INTERNAL', 'EXTERNAL', 'HIGH', 'LOW', 'INPUT', 'OUTPUT', 'INPUT_PULLUP', 'LED_BUILTIN', 'true', 'false', 'void', 'boolean', 'char', 'unsigned char', 'byte', 'int', 'unsigned int', 'word', 'long', 'unsigned long', 'short', 'float', 'double', 'string', 'String', 'array', 'static', 'volatile', 'const', 'boolean', 'byte', 'word', 'string', 'String', 'array', 'int', 'float', 'private', 'char', 'virtual', 'operator', 'sizeof', 'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t', 'int8_t', 'int16_t', 'int32_t', 'int64_t', 'dynamic_cast', 'typedef', 'const_cast', 'const', 'struct', 'static_cast', 'union', 'unsigned', 'long', 'volatile', 'static', 'protected', 'bool', 'public', 'friend', 'auto', 'void', 'enum', 'extern', 'class', 'short', 'reinterpret_cast', 'double', 'register', 'explicit', 'signed', 'inline', 'delete', '_Bool', 'complex', '_Complex', '_Imaginary', 'atomic_bool', 'atomic_char', 'atomic_schar', 'atomic_uchar', 'atomic_short', 'atomic_ushort', 'atomic_int', 'atomic_uint', 'atomic_long', 'atomic_ulong', 'atomic_llong', 'atomic_ullong', 'PROGMEM'} # Language shipped functions and class ( ) functions = { 'KeyboardController', 'MouseController', 'SoftwareSerial', 'EthernetServer', 'EthernetClient', 'LiquidCrystal', 'RobotControl', 'GSMVoiceCall', 'EthernetUDP', 'EsploraTFT', 'HttpClient', 'RobotMotor', 'WiFiClient', 'GSMScanner', 'FileSystem', 'Scheduler', 'GSMServer', 'YunClient', 'YunServer', 'IPAddress', 'GSMClient', 'GSMModem', 'Keyboard', 'Ethernet', 'Console', 'GSMBand', 'Esplora', 'Stepper', 'Process', 'WiFiUDP', 'GSM_SMS', 'Mailbox', 'USBHost', 'Firmata', 'PImage', 'Client', 'Server', 'GSMPIN', 'FileIO', 'Bridge', 'Serial', 'EEPROM', 'Stream', 'Mouse', 'Audio', 'Servo', 'File', 'Task', 'GPRS', 'WiFi', 'Wire', 'TFT', 'GSM', 'SPI', 'SD', 'runShellCommandAsynchronously', 'analogWriteResolution', 'retrieveCallingNumber', 'printFirmwareVersion', 'analogReadResolution', 'sendDigitalPortPair', 'noListenOnLocalhost', 'readJoystickButton', 'setFirmwareVersion', 'readJoystickSwitch', 'scrollDisplayRight', 'getVoiceCallStatus', 'scrollDisplayLeft', 'writeMicroseconds', 'delayMicroseconds', 'beginTransmission', 'getSignalStrength', 'runAsynchronously', 'getAsynchronously', 'listenOnLocalhost', 'getCurrentCarrier', 'readAccelerometer', 'messageAvailable', 'sendDigitalPorts', 'lineFollowConfig', 'countryNameWrite', 'runShellCommand', 'readStringUntil', 'rewindDirectory', 'readTemperature', 'setClockDivider', 'readLightSensor', 'endTransmission', 'analogReference', 'detachInterrupt', 'countryNameRead', 'attachInterrupt', 'encryptionType', 'readBytesUntil', 'robotNameWrite', 'readMicrophone', 'robotNameRead', 'cityNameWrite', 'userNameWrite', 'readJoystickY', 'readJoystickX', 'mouseReleased', 'openNextFile', 'scanNetworks', 'noInterrupts', 'digitalWrite', 'beginSpeaker', 'mousePressed', 'isActionDone', 'mouseDragged', 'displayLogos', 'noAutoscroll', 'addParameter', 'remoteNumber', 'getModifiers', 'keyboardRead', 'userNameRead', 'waitContinue', 'processInput', 'parseCommand', 'printVersion', 'readNetworks', 'writeMessage', 'blinkVersion', 'cityNameRead', 'readMessage', 'setDataMode', 'parsePacket', 'isListening', 'setBitOrder', 'beginPacket', 'isDirectory', 'motorsWrite', 'drawCompass', 'digitalRead', 'clearScreen', 'serialEvent', 'rightToLeft', 'setTextSize', 'leftToRight', 'requestFrom', 'keyReleased', 'compassRead', 'analogWrite', 'interrupts', 'WiFiServer', 'disconnect', 'playMelody', 'parseFloat', 'autoscroll', 'getPINUsed', 'setPINUsed', 'setTimeout', 'sendAnalog', 'readSlider', 'analogRead', 'beginWrite', 'createChar', 'motorsStop', 'keyPressed', 'tempoWrite', 'readButton', 'subnetMask', 'debugPrint', 'macAddress', 'writeGreen', 'randomSeed', 'attachGPRS', 'readString', 'sendString', 'remotePort', 'releaseAll', 'mouseMoved', 'background', 'getXChange', 'getYChange', 'answerCall', 'getResult', 'voiceCall', 'endPacket', 'constrain', 'getSocket', 'writeJSON', 'getButton', 'available', 'connected', 'findUntil', 'readBytes', 'exitValue', 'readGreen', 'writeBlue', 'startLoop', 'IPAddress', 'isPressed', 'sendSysex', 'pauseMode', 'gatewayIP', 'setCursor', 'getOemKey', 'tuneWrite', 'noDisplay', 'loadImage', 'switchPIN', 'onRequest', 'onReceive', 'changePIN', 'playFile', 'noBuffer', 'parseInt', 'overflow', 'checkPIN', 'knobRead', 'beginTFT', 'bitClear', 'updateIR', 'bitWrite', 'position', 'writeRGB', 'highByte', 'writeRed', 'setSpeed', 'readBlue', 'noStroke', 'remoteIP', 'transfer', 'shutdown', 'hangCall', 'beginSMS', 'endWrite', 'attached', 'maintain', 'noCursor', 'checkReg', 'checkPUK', 'shiftOut', 'isValid', 'shiftIn', 'pulseIn', 'connect', 'println', 'localIP', 'pinMode', 'getIMEI', 'display', 'noBlink', 'process', 'getBand', 'running', 'beginSD', 'drawBMP', 'lowByte', 'setBand', 'release', 'bitRead', 'prepare', 'pointTo', 'readRed', 'setMode', 'noFill', 'remove', 'listen', 'stroke', 'detach', 'attach', 'noTone', 'exists', 'buffer', 'height', 'bitSet', 'circle', 'config', 'cursor', 'random', 'IRread', 'setDNS', 'endSMS', 'getKey', 'micros', 'millis', 'begin', 'print', 'write', 'ready', 'flush', 'width', 'isPIN', 'blink', 'clear', 'press', 'mkdir', 'rmdir', 'close', 'point', 'yield', 'image', 'BSSID', 'click', 'delay', 'read', 'text', 'move', 'peek', 'beep', 'rect', 'line', 'open', 'seek', 'fill', 'size', 'turn', 'stop', 'home', 'find', 'step', 'tone', 'sqrt', 'RSSI', 'SSID', 'end', 'bit', 'tan', 'cos', 'sin', 'pow', 'map', 'abs', 'max', 'min', 'get', 'run', 'put', 'isAlphaNumeric', 'isAlpha', 'isAscii', 'isWhitespace', 'isControl', 'isDigit', 'isGraph', 'isLowerCase', 'isPrintable', 'isPunct', 'isSpace', 'isUpperCase', 'isHexadecimalDigit'} # do not highlight suppress_highlight = { 'namespace', 'template', 'mutable', 'using', 'asm', 'typeid', 'typename', 'this', 'alignof', 'constexpr', 'decltype', 'noexcept', 'static_assert', 'thread_local', 'restrict'} def get_tokens_unprocessed(self, text, stack=('root',)): for index, token, value in CppLexer.get_tokens_unprocessed(self, text, stack): if value in self.structure: yield index, Name.Builtin, value elif value in self.operators: yield index, Operator, value elif value in self.variables: yield index, Keyword.Reserved, value elif value in self.suppress_highlight: yield index, Name, value elif value in self.functions: yield index, Name.Function, value else: yield index, token, value class CharmciLexer(CppLexer): """ For `Charm++ <https://charm.cs.illinois.edu>`_ interface files (.ci). .. versionadded:: 2.4 """ name = 'Charmci' aliases = ['charmci'] filenames = ['*.ci'] mimetypes = [] tokens = { 'keywords': [ (r'(module)(\s+)', bygroups(Keyword, Text), 'classname'), (words(('mainmodule', 'mainchare', 'chare', 'array', 'group', 'nodegroup', 'message', 'conditional')), Keyword), (words(('entry', 'aggregate', 'threaded', 'sync', 'exclusive', 'nokeep', 'notrace', 'immediate', 'expedited', 'inline', 'local', 'python', 'accel', 'readwrite', 'writeonly', 'accelblock', 'memcritical', 'packed', 'varsize', 'initproc', 'initnode', 'initcall', 'stacksize', 'createhere', 'createhome', 'reductiontarget', 'iget', 'nocopy', 'mutable', 'migratable', 'readonly')), Keyword), inherit, ], } class OmgIdlLexer(CLexer): """ Lexer for Object Management Group Interface Definition Language. .. versionadded:: 2.9 """ name = 'OMG Interface Definition Language' url = 'https://www.omg.org/spec/IDL/About-IDL/' aliases = ['omg-idl'] filenames = ['*.idl', '*.pidl'] mimetypes = [] scoped_name = r'((::)?\w+)+' tokens = { 'values': [ (words(('true', 'false'), prefix=r'(?i)', suffix=r'\b'), Number), (r'([Ll]?)(")', bygroups(String.Affix, String.Double), 'string'), (r'([Ll]?)(\')(\\[^\']+)(\')', bygroups(String.Affix, String.Char, String.Escape, String.Char)), (r'([Ll]?)(\')(\\\')(\')', bygroups(String.Affix, String.Char, String.Escape, String.Char)), (r'([Ll]?)(\'.\')', bygroups(String.Affix, String.Char)), (r'[+-]?\d+(\.\d*)?[Ee][+-]?\d+', Number.Float), (r'[+-]?(\d+\.\d*)|(\d*\.\d+)([Ee][+-]?\d+)?', Number.Float), (r'(?i)[+-]?0x[0-9a-f]+', Number.Hex), (r'[+-]?[1-9]\d*', Number.Integer), (r'[+-]?0[0-7]*', Number.Oct), (r'[\+\-\*\/%^&\|~]', Operator), (words(('<<', '>>')), Operator), (scoped_name, Name), (r'[{};:,<>\[\]]', Punctuation), ], 'annotation_params': [ include('whitespace'), (r'\(', Punctuation, '#push'), include('values'), (r'=', Punctuation), (r'\)', Punctuation, '#pop'), ], 'annotation_params_maybe': [ (r'\(', Punctuation, 'annotation_params'), include('whitespace'), default('#pop'), ], 'annotation_appl': [ (r'@' + scoped_name, Name.Decorator, 'annotation_params_maybe'), ], 'enum': [ include('whitespace'), (r'[{,]', Punctuation), (r'\w+', Name.Constant), include('annotation_appl'), (r'\}', Punctuation, '#pop'), ], 'root': [ include('whitespace'), (words(( 'typedef', 'const', 'in', 'out', 'inout', 'local', ), prefix=r'(?i)', suffix=r'\b'), Keyword.Declaration), (words(( 'void', 'any', 'native', 'bitfield', 'unsigned', 'boolean', 'char', 'wchar', 'octet', 'short', 'long', 'int8', 'uint8', 'int16', 'int32', 'int64', 'uint16', 'uint32', 'uint64', 'float', 'double', 'fixed', 'sequence', 'string', 'wstring', 'map', ), prefix=r'(?i)', suffix=r'\b'), Keyword.Type), (words(( '@annotation', 'struct', 'union', 'bitset', 'interface', 'exception', 'valuetype', 'eventtype', 'component', ), prefix=r'(?i)', suffix=r'(\s+)(\w+)'), bygroups(Keyword, Whitespace, Name.Class)), (words(( 'abstract', 'alias', 'attribute', 'case', 'connector', 'consumes', 'context', 'custom', 'default', 'emits', 'factory', 'finder', 'getraises', 'home', 'import', 'manages', 'mirrorport', 'multiple', 'Object', 'oneway', 'primarykey', 'private', 'port', 'porttype', 'provides', 'public', 'publishes', 'raises', 'readonly', 'setraises', 'supports', 'switch', 'truncatable', 'typeid', 'typename', 'typeprefix', 'uses', 'ValueBase', ), prefix=r'(?i)', suffix=r'\b'), Keyword), (r'(?i)(enum|bitmask)(\s+)(\w+)', bygroups(Keyword, Whitespace, Name.Class), 'enum'), (r'(?i)(module)(\s+)(\w+)', bygroups(Keyword.Namespace, Whitespace, Name.Namespace)), (r'(\w+)(\s*)(=)', bygroups(Name.Constant, Whitespace, Operator)), (r'[\(\)]', Punctuation), include('values'), include('annotation_appl'), ], }