OXIESEC PANEL
- Current Dir:
/
/
opt
/
alt
/
python311
/
lib
/
python3.11
/
site-packages
/
pygments
/
lexers
Server IP: 2a02:4780:11:1084:0:327f:3464:10
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
05/08/2024 06:42:35 PM
rwxr-xr-x
📄
__init__.py
11.78 KB
05/08/2024 06:42:35 PM
rw-r--r--
📁
__pycache__
-
05/08/2024 06:42:35 PM
rwxr-xr-x
📄
_ada_builtins.py
1.51 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
_asy_builtins.py
26.65 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
_cl_builtins.py
13.67 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
_cocoa_builtins.py
102.71 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
_csound_builtins.py
17.98 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
_css_builtins.py
12.15 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
_julia_builtins.py
11.6 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
_lasso_builtins.py
131.36 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
_lilypond_builtins.py
105.56 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
_lua_builtins.py
7.92 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
_luau_builtins.py
955 bytes
05/08/2024 06:42:35 PM
rw-r--r--
📄
_mapping.py
67.47 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
_mql_builtins.py
24.13 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
_mysql_builtins.py
25.23 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
_openedge_builtins.py
48.24 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
_php_builtins.py
105.39 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
_postgres_builtins.py
13.03 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
_qlik_builtins.py
12.3 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
_scheme_builtins.py
31.8 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
_scilab_builtins.py
51.18 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
_sourcemod_builtins.py
26.15 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
_stan_builtins.py
13.13 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
_stata_builtins.py
26.59 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
_tsql_builtins.py
15.1 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
_usd_builtins.py
1.62 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
_vbscript_builtins.py
4.13 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
_vim_builtins.py
55.73 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
actionscript.py
11.45 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
ada.py
5.23 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
agile.py
896 bytes
05/08/2024 06:42:35 PM
rw-r--r--
📄
algebra.py
9.68 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
ambient.py
2.54 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
amdgpu.py
1.68 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
ampl.py
4.08 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
apdlexer.py
30.08 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
apl.py
3.32 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
archetype.py
11.27 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
arrow.py
3.48 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
arturo.py
11.15 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
asc.py
1.65 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
asm.py
40.95 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
asn1.py
4.16 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
automation.py
19.37 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
bare.py
2.95 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
basic.py
27.33 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
bdd.py
1.6 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
berry.py
3.13 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
bibtex.py
4.7 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
blueprint.py
6.04 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
boa.py
3.83 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
bqn.py
3.26 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
business.py
27.68 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
c_cpp.py
17.64 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
c_like.py
31.27 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
capnproto.py
2.12 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
carbon.py
3.14 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
cddl.py
4.96 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
chapel.py
5.04 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
clean.py
6.27 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
comal.py
3.1 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
compiled.py
1.39 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
configs.py
49.35 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
console.py
4.08 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
cplint.py
1.36 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
crystal.py
15.38 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
csound.py
16.6 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
css.py
24.77 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
d.py
9.69 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
dalvik.py
4.5 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
data.py
26.39 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
dax.py
7.91 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
devicetree.py
3.92 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
diff.py
5.26 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
dns.py
3.8 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
dotnet.py
37.07 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
dsls.py
35.88 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
dylan.py
10.15 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
ecl.py
6.22 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
eiffel.py
2.63 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
elm.py
3.08 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
elpi.py
6.38 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
email.py
4.69 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
erlang.py
18.7 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
esoteric.py
10.25 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
ezhil.py
3.2 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
factor.py
19.07 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
fantom.py
9.99 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
felix.py
9.43 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
fift.py
1.61 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
floscript.py
2.6 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
forth.py
7.02 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
fortran.py
10.14 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
foxpro.py
25.68 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
freefem.py
26.28 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
func.py
3.61 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
functional.py
693 bytes
05/08/2024 06:42:35 PM
rw-r--r--
📄
futhark.py
3.66 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
gcodelexer.py
874 bytes
05/08/2024 06:42:35 PM
rw-r--r--
📄
gdscript.py
7.39 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
go.py
3.69 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
grammar_notation.py
7.85 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
graph.py
4.01 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
graphics.py
38.23 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
graphql.py
5.47 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
graphviz.py
1.89 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
gsql.py
3.9 KB
05/08/2024 06:42:35 PM
rwxr-xr-x
📄
haskell.py
32.46 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
haxe.py
30.25 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
hdl.py
22.21 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
hexdump.py
3.57 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
html.py
20.09 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
idl.py
15.09 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
igor.py
30.88 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
inferno.py
3.06 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
installers.py
12.99 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
int_fiction.py
55.22 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
iolang.py
1.86 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
j.py
4.74 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
javascript.py
61.62 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
jmespath.py
2.03 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
jslt.py
3.61 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
jsonnet.py
5.5 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
jsx.py
2.18 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
julia.py
11.41 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
jvm.py
70.96 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
kuin.py
11.14 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
kusto.py
3.4 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
ldap.py
6.4 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
lean.py
8.37 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
lilypond.py
9.52 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
lisp.py
153.97 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
macaulay2.py
32.07 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
make.py
7.65 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
markup.py
63.56 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
math.py
695 bytes
05/08/2024 06:42:35 PM
rw-r--r--
📄
matlab.py
129.85 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
maxima.py
2.65 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
meson.py
4.23 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
mime.py
7.4 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
minecraft.py
13.38 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
mips.py
4.55 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
ml.py
34.56 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
modeling.py
13.36 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
modula2.py
51.83 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
mojo.py
23.61 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
monte.py
6.14 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
mosel.py
9.08 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
ncl.py
62.5 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
nimrod.py
6.26 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
nit.py
2.66 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
nix.py
4.32 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
oberon.py
4.11 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
objective.py
22.7 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
ooc.py
2.91 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
openscad.py
3.61 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
other.py
1.72 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
parasail.py
2.66 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
parsers.py
25.97 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
pascal.py
30.26 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
pawn.py
8.06 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
perl.py
38.27 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
phix.py
22.7 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
php.py
12.75 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
pointless.py
1.93 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
pony.py
3.2 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
praat.py
12.38 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
procfile.py
1.13 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
prolog.py
12.56 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
promql.py
4.63 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
prql.py
8.54 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
ptx.py
4.4 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
python.py
52.38 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
q.py
6.77 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
qlik.py
3.61 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
qvt.py
5.96 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
r.py
6.19 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
rdf.py
15.67 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
rebol.py
17.83 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
resource.py
2.86 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
ride.py
4.92 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
rita.py
1.1 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
rnc.py
1.93 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
roboconf.py
2.03 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
robotframework.py
18.02 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
ruby.py
22.22 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
rust.py
8.07 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
sas.py
9.23 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
savi.py
4.76 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
scdoc.py
2.46 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
scripting.py
79.16 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
sgf.py
1.94 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
shell.py
35.38 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
sieve.py
2.46 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
slash.py
8.29 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
smalltalk.py
7.04 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
smithy.py
2.6 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
smv.py
2.74 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
snobol.py
2.71 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
solidity.py
3.09 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
soong.py
2.28 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
sophia.py
3.3 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
special.py
3.47 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
spice.py
2.72 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
sql.py
41.6 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
srcinfo.py
1.71 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
stata.py
6.26 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
supercollider.py
3.61 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
tact.py
10.56 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
tal.py
2.84 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
tcl.py
5.38 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
teal.py
3.44 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
templates.py
73.94 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
teraterm.py
9.49 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
testing.py
10.56 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
text.py
1.02 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
textedit.py
7.58 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
textfmts.py
15.16 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
theorem.py
17.44 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
thingsdb.py
5.88 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
tlb.py
1.42 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
tls.py
1.5 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
tnt.py
10.21 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
trafficscript.py
1.47 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
typoscript.py
8.14 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
typst.py
4.24 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
ul4.py
10.25 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
unicon.py
18.19 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
urbi.py
5.94 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
usd.py
3.23 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
varnish.py
7.3 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
verification.py
3.84 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
verifpal.py
2.6 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
vip.py
5.58 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
vyper.py
5.46 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
web.py
913 bytes
05/08/2024 06:42:35 PM
rw-r--r--
📄
webassembly.py
5.56 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
webidl.py
10.27 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
webmisc.py
39.61 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
wgsl.py
11.6 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
whiley.py
3.92 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
wowtoc.py
3.98 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
wren.py
3.15 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
x10.py
1.9 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
xorg.py
925 bytes
05/08/2024 06:42:35 PM
rw-r--r--
📄
yang.py
4.39 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
yara.py
2.37 KB
05/08/2024 06:42:35 PM
rw-r--r--
📄
zig.py
3.88 KB
05/08/2024 06:42:35 PM
rw-r--r--
Editing: rdf.py
Close
""" pygments.lexers.rdf ~~~~~~~~~~~~~~~~~~~ Lexers for semantic web and RDF query languages and markup. :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re from pygments.lexer import RegexLexer, bygroups, default from pygments.token import Keyword, Punctuation, String, Number, Operator, \ Generic, Whitespace, Name, Literal, Comment, Text __all__ = ['SparqlLexer', 'TurtleLexer', 'ShExCLexer'] class SparqlLexer(RegexLexer): """ Lexer for SPARQL query language. """ name = 'SPARQL' aliases = ['sparql'] filenames = ['*.rq', '*.sparql'] mimetypes = ['application/sparql-query'] url = 'https://www.w3.org/TR/sparql11-query' version_added = '2.0' # character group definitions :: PN_CHARS_BASE_GRP = ('a-zA-Z' '\u00c0-\u00d6' '\u00d8-\u00f6' '\u00f8-\u02ff' '\u0370-\u037d' '\u037f-\u1fff' '\u200c-\u200d' '\u2070-\u218f' '\u2c00-\u2fef' '\u3001-\ud7ff' '\uf900-\ufdcf' '\ufdf0-\ufffd') PN_CHARS_U_GRP = (PN_CHARS_BASE_GRP + '_') PN_CHARS_GRP = (PN_CHARS_U_GRP + r'\-' + r'0-9' + '\u00b7' + '\u0300-\u036f' + '\u203f-\u2040') HEX_GRP = '0-9A-Fa-f' PN_LOCAL_ESC_CHARS_GRP = r' _~.\-!$&"()*+,;=/?#@%' # terminal productions :: PN_CHARS_BASE = '[' + PN_CHARS_BASE_GRP + ']' PN_CHARS_U = '[' + PN_CHARS_U_GRP + ']' PN_CHARS = '[' + PN_CHARS_GRP + ']' HEX = '[' + HEX_GRP + ']' PN_LOCAL_ESC_CHARS = '[' + PN_LOCAL_ESC_CHARS_GRP + ']' IRIREF = r'<(?:[^<>"{}|^`\\\x00-\x20])*>' BLANK_NODE_LABEL = '_:[0-9' + PN_CHARS_U_GRP + '](?:[' + PN_CHARS_GRP + \ '.]*' + PN_CHARS + ')?' PN_PREFIX = PN_CHARS_BASE + '(?:[' + PN_CHARS_GRP + '.]*' + PN_CHARS + ')?' VARNAME = '[0-9' + PN_CHARS_U_GRP + '][' + PN_CHARS_U_GRP + \ '0-9\u00b7\u0300-\u036f\u203f-\u2040]*' PERCENT = '%' + HEX + HEX PN_LOCAL_ESC = r'\\' + PN_LOCAL_ESC_CHARS PLX = '(?:' + PERCENT + ')|(?:' + PN_LOCAL_ESC + ')' PN_LOCAL = ('(?:[' + PN_CHARS_U_GRP + ':0-9' + ']|' + PLX + ')' + '(?:(?:[' + PN_CHARS_GRP + '.:]|' + PLX + ')*(?:[' + PN_CHARS_GRP + ':]|' + PLX + '))?') EXPONENT = r'[eE][+-]?\d+' # Lexer token definitions :: tokens = { 'root': [ (r'\s+', Text), # keywords :: (r'(?i)(select|construct|describe|ask|where|filter|group\s+by|minus|' r'distinct|reduced|from\s+named|from|order\s+by|desc|asc|limit|' r'offset|values|bindings|load|into|clear|drop|create|add|move|copy|' r'insert\s+data|delete\s+data|delete\s+where|with|delete|insert|' r'using\s+named|using|graph|default|named|all|optional|service|' r'silent|bind|undef|union|not\s+in|in|as|having|to|prefix|base)\b', Keyword), (r'(a)\b', Keyword), # IRIs :: ('(' + IRIREF + ')', Name.Label), # blank nodes :: ('(' + BLANK_NODE_LABEL + ')', Name.Label), # # variables :: ('[?$]' + VARNAME, Name.Variable), # prefixed names :: (r'(' + PN_PREFIX + r')?(\:)(' + PN_LOCAL + r')?', bygroups(Name.Namespace, Punctuation, Name.Tag)), # function names :: (r'(?i)(str|lang|langmatches|datatype|bound|iri|uri|bnode|rand|abs|' r'ceil|floor|round|concat|strlen|ucase|lcase|encode_for_uri|' r'contains|strstarts|strends|strbefore|strafter|year|month|day|' r'hours|minutes|seconds|timezone|tz|now|uuid|struuid|md5|sha1|sha256|sha384|' r'sha512|coalesce|if|strlang|strdt|sameterm|isiri|isuri|isblank|' r'isliteral|isnumeric|regex|substr|replace|exists|not\s+exists|' r'count|sum|min|max|avg|sample|group_concat|separator)\b', Name.Function), # boolean literals :: (r'(true|false)', Keyword.Constant), # double literals :: (r'[+\-]?(\d+\.\d*' + EXPONENT + r'|\.?\d+' + EXPONENT + ')', Number.Float), # decimal literals :: (r'[+\-]?(\d+\.\d*|\.\d+)', Number.Float), # integer literals :: (r'[+\-]?\d+', Number.Integer), # operators :: (r'(\|\||&&|=|\*|\-|\+|/|!=|<=|>=|!|<|>)', Operator), # punctuation characters :: (r'[(){}.;,:^\[\]]', Punctuation), # line comments :: (r'#[^\n]*', Comment), # strings :: (r'"""', String, 'triple-double-quoted-string'), (r'"', String, 'single-double-quoted-string'), (r"'''", String, 'triple-single-quoted-string'), (r"'", String, 'single-single-quoted-string'), ], 'triple-double-quoted-string': [ (r'"""', String, 'end-of-string'), (r'[^\\]+', String), (r'\\', String, 'string-escape'), ], 'single-double-quoted-string': [ (r'"', String, 'end-of-string'), (r'[^"\\\n]+', String), (r'\\', String, 'string-escape'), ], 'triple-single-quoted-string': [ (r"'''", String, 'end-of-string'), (r'[^\\]+', String), (r'\\', String.Escape, 'string-escape'), ], 'single-single-quoted-string': [ (r"'", String, 'end-of-string'), (r"[^'\\\n]+", String), (r'\\', String, 'string-escape'), ], 'string-escape': [ (r'u' + HEX + '{4}', String.Escape, '#pop'), (r'U' + HEX + '{8}', String.Escape, '#pop'), (r'.', String.Escape, '#pop'), ], 'end-of-string': [ (r'(@)([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)', bygroups(Operator, Name.Function), '#pop:2'), (r'\^\^', Operator, '#pop:2'), default('#pop:2'), ], } class TurtleLexer(RegexLexer): """ Lexer for Turtle data language. """ name = 'Turtle' aliases = ['turtle'] filenames = ['*.ttl'] mimetypes = ['text/turtle', 'application/x-turtle'] url = 'https://www.w3.org/TR/turtle' version_added = '2.1' # character group definitions :: PN_CHARS_BASE_GRP = ('a-zA-Z' '\u00c0-\u00d6' '\u00d8-\u00f6' '\u00f8-\u02ff' '\u0370-\u037d' '\u037f-\u1fff' '\u200c-\u200d' '\u2070-\u218f' '\u2c00-\u2fef' '\u3001-\ud7ff' '\uf900-\ufdcf' '\ufdf0-\ufffd') PN_CHARS_U_GRP = (PN_CHARS_BASE_GRP + '_') PN_CHARS_GRP = (PN_CHARS_U_GRP + r'\-' + r'0-9' + '\u00b7' + '\u0300-\u036f' + '\u203f-\u2040') PN_CHARS = '[' + PN_CHARS_GRP + ']' PN_CHARS_BASE = '[' + PN_CHARS_BASE_GRP + ']' PN_PREFIX = PN_CHARS_BASE + '(?:[' + PN_CHARS_GRP + '.]*' + PN_CHARS + ')?' HEX_GRP = '0-9A-Fa-f' HEX = '[' + HEX_GRP + ']' PERCENT = '%' + HEX + HEX PN_LOCAL_ESC_CHARS_GRP = r' _~.\-!$&"()*+,;=/?#@%' PN_LOCAL_ESC_CHARS = '[' + PN_LOCAL_ESC_CHARS_GRP + ']' PN_LOCAL_ESC = r'\\' + PN_LOCAL_ESC_CHARS PLX = '(?:' + PERCENT + ')|(?:' + PN_LOCAL_ESC + ')' PN_LOCAL = ('(?:[' + PN_CHARS_U_GRP + ':0-9' + ']|' + PLX + ')' + '(?:(?:[' + PN_CHARS_GRP + '.:]|' + PLX + ')*(?:[' + PN_CHARS_GRP + ':]|' + PLX + '))?') patterns = { 'PNAME_NS': r'((?:[a-zA-Z][\w-]*)?\:)', # Simplified character range 'IRIREF': r'(<[^<>"{}|^`\\\x00-\x20]*>)' } tokens = { 'root': [ (r'\s+', Text), # Base / prefix (r'(@base|BASE)(\s+){IRIREF}(\s*)(\.?)'.format(**patterns), bygroups(Keyword, Whitespace, Name.Variable, Whitespace, Punctuation)), (r'(@prefix|PREFIX)(\s+){PNAME_NS}(\s+){IRIREF}(\s*)(\.?)'.format(**patterns), bygroups(Keyword, Whitespace, Name.Namespace, Whitespace, Name.Variable, Whitespace, Punctuation)), # The shorthand predicate 'a' (r'(?<=\s)a(?=\s)', Keyword.Type), # IRIREF (r'{IRIREF}'.format(**patterns), Name.Variable), # PrefixedName (r'(' + PN_PREFIX + r')?(\:)(' + PN_LOCAL + r')?', bygroups(Name.Namespace, Punctuation, Name.Tag)), # BlankNodeLabel (r'(_)(:)([' + PN_CHARS_U_GRP + r'0-9]([' + PN_CHARS_GRP + r'.]*' + PN_CHARS + ')?)', bygroups(Name.Namespace, Punctuation, Name.Tag)), # Comment (r'#[^\n]+', Comment), (r'\b(true|false)\b', Literal), (r'[+\-]?\d*\.\d+', Number.Float), (r'[+\-]?\d*(:?\.\d+)?E[+\-]?\d+', Number.Float), (r'[+\-]?\d+', Number.Integer), (r'[\[\](){}.;,:^]', Punctuation), (r'"""', String, 'triple-double-quoted-string'), (r'"', String, 'single-double-quoted-string'), (r"'''", String, 'triple-single-quoted-string'), (r"'", String, 'single-single-quoted-string'), ], 'triple-double-quoted-string': [ (r'"""', String, 'end-of-string'), (r'[^\\]+', String), (r'\\', String, 'string-escape'), ], 'single-double-quoted-string': [ (r'"', String, 'end-of-string'), (r'[^"\\\n]+', String), (r'\\', String, 'string-escape'), ], 'triple-single-quoted-string': [ (r"'''", String, 'end-of-string'), (r'[^\\]+', String), (r'\\', String, 'string-escape'), ], 'single-single-quoted-string': [ (r"'", String, 'end-of-string'), (r"[^'\\\n]+", String), (r'\\', String, 'string-escape'), ], 'string-escape': [ (r'.', String, '#pop'), ], 'end-of-string': [ (r'(@)([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)', bygroups(Operator, Generic.Emph), '#pop:2'), (r'(\^\^){IRIREF}'.format(**patterns), bygroups(Operator, Generic.Emph), '#pop:2'), default('#pop:2'), ], } # Turtle and Tera Term macro files share the same file extension # but each has a recognizable and distinct syntax. def analyse_text(text): for t in ('@base ', 'BASE ', '@prefix ', 'PREFIX '): if re.search(rf'^\s*{t}', text): return 0.80 class ShExCLexer(RegexLexer): """ Lexer for ShExC shape expressions language syntax. """ name = 'ShExC' aliases = ['shexc', 'shex'] filenames = ['*.shex'] mimetypes = ['text/shex'] url = 'https://shex.io/shex-semantics/#shexc' version_added = '' # character group definitions :: PN_CHARS_BASE_GRP = ('a-zA-Z' '\u00c0-\u00d6' '\u00d8-\u00f6' '\u00f8-\u02ff' '\u0370-\u037d' '\u037f-\u1fff' '\u200c-\u200d' '\u2070-\u218f' '\u2c00-\u2fef' '\u3001-\ud7ff' '\uf900-\ufdcf' '\ufdf0-\ufffd') PN_CHARS_U_GRP = (PN_CHARS_BASE_GRP + '_') PN_CHARS_GRP = (PN_CHARS_U_GRP + r'\-' + r'0-9' + '\u00b7' + '\u0300-\u036f' + '\u203f-\u2040') HEX_GRP = '0-9A-Fa-f' PN_LOCAL_ESC_CHARS_GRP = r"_~.\-!$&'()*+,;=/?#@%" # terminal productions :: PN_CHARS_BASE = '[' + PN_CHARS_BASE_GRP + ']' PN_CHARS_U = '[' + PN_CHARS_U_GRP + ']' PN_CHARS = '[' + PN_CHARS_GRP + ']' HEX = '[' + HEX_GRP + ']' PN_LOCAL_ESC_CHARS = '[' + PN_LOCAL_ESC_CHARS_GRP + ']' UCHAR_NO_BACKSLASH = '(?:u' + HEX + '{4}|U' + HEX + '{8})' UCHAR = r'\\' + UCHAR_NO_BACKSLASH IRIREF = r'<(?:[^\x00-\x20<>"{}|^`\\]|' + UCHAR + ')*>' BLANK_NODE_LABEL = '_:[0-9' + PN_CHARS_U_GRP + '](?:[' + PN_CHARS_GRP + \ '.]*' + PN_CHARS + ')?' PN_PREFIX = PN_CHARS_BASE + '(?:[' + PN_CHARS_GRP + '.]*' + PN_CHARS + ')?' PERCENT = '%' + HEX + HEX PN_LOCAL_ESC = r'\\' + PN_LOCAL_ESC_CHARS PLX = '(?:' + PERCENT + ')|(?:' + PN_LOCAL_ESC + ')' PN_LOCAL = ('(?:[' + PN_CHARS_U_GRP + ':0-9' + ']|' + PLX + ')' + '(?:(?:[' + PN_CHARS_GRP + '.:]|' + PLX + ')*(?:[' + PN_CHARS_GRP + ':]|' + PLX + '))?') EXPONENT = r'[eE][+-]?\d+' # Lexer token definitions :: tokens = { 'root': [ (r'\s+', Text), # keywords :: (r'(?i)(base|prefix|start|external|' r'literal|iri|bnode|nonliteral|length|minlength|maxlength|' r'mininclusive|minexclusive|maxinclusive|maxexclusive|' r'totaldigits|fractiondigits|' r'closed|extra)\b', Keyword), (r'(a)\b', Keyword), # IRIs :: ('(' + IRIREF + ')', Name.Label), # blank nodes :: ('(' + BLANK_NODE_LABEL + ')', Name.Label), # prefixed names :: (r'(' + PN_PREFIX + r')?(\:)(' + PN_LOCAL + ')?', bygroups(Name.Namespace, Punctuation, Name.Tag)), # boolean literals :: (r'(true|false)', Keyword.Constant), # double literals :: (r'[+\-]?(\d+\.\d*' + EXPONENT + r'|\.?\d+' + EXPONENT + ')', Number.Float), # decimal literals :: (r'[+\-]?(\d+\.\d*|\.\d+)', Number.Float), # integer literals :: (r'[+\-]?\d+', Number.Integer), # operators :: (r'[@|$&=*+?^\-~]', Operator), # operator keywords :: (r'(?i)(and|or|not)\b', Operator.Word), # punctuation characters :: (r'[(){}.;,:^\[\]]', Punctuation), # line comments :: (r'#[^\n]*', Comment), # strings :: (r'"""', String, 'triple-double-quoted-string'), (r'"', String, 'single-double-quoted-string'), (r"'''", String, 'triple-single-quoted-string'), (r"'", String, 'single-single-quoted-string'), ], 'triple-double-quoted-string': [ (r'"""', String, 'end-of-string'), (r'[^\\]+', String), (r'\\', String, 'string-escape'), ], 'single-double-quoted-string': [ (r'"', String, 'end-of-string'), (r'[^"\\\n]+', String), (r'\\', String, 'string-escape'), ], 'triple-single-quoted-string': [ (r"'''", String, 'end-of-string'), (r'[^\\]+', String), (r'\\', String.Escape, 'string-escape'), ], 'single-single-quoted-string': [ (r"'", String, 'end-of-string'), (r"[^'\\\n]+", String), (r'\\', String, 'string-escape'), ], 'string-escape': [ (UCHAR_NO_BACKSLASH, String.Escape, '#pop'), (r'.', String.Escape, '#pop'), ], 'end-of-string': [ (r'(@)([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)', bygroups(Operator, Name.Function), '#pop:2'), (r'\^\^', Operator, '#pop:2'), default('#pop:2'), ], }