Linux cpanel.rrshost.in 5.15.0-25-generic #25-Ubuntu SMP Wed Mar 30 15:54:22 UTC 2022 x86_64
Apache
: 109.123.238.221 | : 172.69.58.137
128 Domain
8.2.28
aev999
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
share /
vim /
vim82 /
syntax /
[ HOME SHELL ]
Name
Size
Permission
Action
2html.vim
73.65
KB
-rw-r--r--
8th.vim
35.37
KB
-rw-r--r--
a2ps.vim
2.37
KB
-rw-r--r--
a65.vim
6.24
KB
-rw-r--r--
aap.vim
5.56
KB
-rw-r--r--
abap.vim
8.94
KB
-rw-r--r--
abaqus.vim
1.07
KB
-rw-r--r--
abc.vim
1.8
KB
-rw-r--r--
abel.vim
4.99
KB
-rw-r--r--
acedb.vim
4.76
KB
-rw-r--r--
ada.vim
12.75
KB
-rw-r--r--
aflex.vim
4.27
KB
-rw-r--r--
ahdl.vim
2.71
KB
-rw-r--r--
aidl.vim
629
B
-rw-r--r--
alsaconf.vim
1.51
KB
-rw-r--r--
amiga.vim
2.9
KB
-rw-r--r--
aml.vim
23.57
KB
-rw-r--r--
ampl.vim
4.01
KB
-rw-r--r--
ant.vim
5.68
KB
-rw-r--r--
antlr.vim
1.75
KB
-rw-r--r--
apache.vim
15.01
KB
-rw-r--r--
apachestyle.vim
1.38
KB
-rw-r--r--
aptconf.vim
21.92
KB
-rw-r--r--
arch.vim
1.12
KB
-rw-r--r--
arduino.vim
3.88
KB
-rw-r--r--
art.vim
1.27
KB
-rw-r--r--
asciidoc.vim
10.88
KB
-rw-r--r--
asm.vim
5.9
KB
-rw-r--r--
asm68k.vim
13.95
KB
-rw-r--r--
asmh8300.vim
1.68
KB
-rw-r--r--
asn.vim
2.52
KB
-rw-r--r--
aspperl.vim
811
B
-rw-r--r--
aspvbs.vim
8.88
KB
-rw-r--r--
asterisk.vim
5.5
KB
-rw-r--r--
asteriskvm.vim
2.28
KB
-rw-r--r--
atlas.vim
2.54
KB
-rw-r--r--
autodoc.vim
3.64
KB
-rw-r--r--
autohotkey.vim
11.58
KB
-rw-r--r--
autoit.vim
46.92
KB
-rw-r--r--
automake.vim
3.85
KB
-rw-r--r--
ave.vim
1.86
KB
-rw-r--r--
avra.vim
2.62
KB
-rw-r--r--
awk.vim
8
KB
-rw-r--r--
ayacc.vim
2.52
KB
-rw-r--r--
b.vim
4.79
KB
-rw-r--r--
baan.vim
71.87
KB
-rw-r--r--
bash.vim
371
B
-rw-r--r--
basic.vim
8.11
KB
-rw-r--r--
bc.vim
1.75
KB
-rw-r--r--
bdf.vim
3.75
KB
-rw-r--r--
bib.vim
5.86
KB
-rw-r--r--
bindzone.vim
4.79
KB
-rw-r--r--
blank.vim
794
B
-rw-r--r--
bsdl.vim
377
B
-rw-r--r--
bst.vim
2.76
KB
-rw-r--r--
btm.vim
9.07
KB
-rw-r--r--
bzl.vim
374
B
-rw-r--r--
bzr.vim
1.52
KB
-rw-r--r--
c.vim
27.1
KB
-rw-r--r--
cabal.vim
7.19
KB
-rw-r--r--
cabalconfig.vim
1.15
KB
-rw-r--r--
cabalproject.vim
944
B
-rw-r--r--
calendar.vim
4.92
KB
-rw-r--r--
catalog.vim
921
B
-rw-r--r--
cdl.vim
3.02
KB
-rw-r--r--
cdrdaoconf.vim
3.56
KB
-rw-r--r--
cdrtoc.vim
22.22
KB
-rw-r--r--
cf.vim
18.21
KB
-rw-r--r--
cfg.vim
1.32
KB
-rw-r--r--
ch.vim
922
B
-rw-r--r--
chaiscript.vim
2.82
KB
-rw-r--r--
change.vim
901
B
-rw-r--r--
changelog.vim
2.05
KB
-rw-r--r--
chaskell.vim
333
B
-rw-r--r--
cheetah.vim
1.71
KB
-rw-r--r--
chicken.vim
3.18
KB
-rw-r--r--
chill.vim
7.84
KB
-rw-r--r--
chordpro.vim
2.46
KB
-rw-r--r--
cl.vim
3.81
KB
-rw-r--r--
clean.vim
3.08
KB
-rw-r--r--
clipper.vim
5.45
KB
-rw-r--r--
clojure.vim
45.99
KB
-rw-r--r--
cmake.vim
41.16
KB
-rw-r--r--
cmod.vim
6.12
KB
-rw-r--r--
cmusrc.vim
12.62
KB
-rw-r--r--
cobol.vim
13.27
KB
-rw-r--r--
coco.vim
1.27
KB
-rw-r--r--
colortest.vim
3.13
KB
-rw-r--r--
conaryrecipe.vim
7.85
KB
-rw-r--r--
conf.vim
813
B
-rw-r--r--
config.vim
2.03
KB
-rw-r--r--
context.vim
6.05
KB
-rw-r--r--
cpp.vim
5.83
KB
-rw-r--r--
crm.vim
1.17
KB
-rw-r--r--
crontab.vim
2.16
KB
-rw-r--r--
cs.vim
10.69
KB
-rw-r--r--
csc.vim
8.25
KB
-rw-r--r--
csdl.vim
23.2
KB
-rw-r--r--
csh.vim
6.31
KB
-rw-r--r--
csp.vim
6.98
KB
-rw-r--r--
css.vim
32.87
KB
-rw-r--r--
cterm.vim
6.26
KB
-rw-r--r--
ctrlh.vim
688
B
-rw-r--r--
cucumber.vim
31.14
KB
-rw-r--r--
cuda.vim
2.63
KB
-rw-r--r--
cupl.vim
3.78
KB
-rw-r--r--
cuplsim.vim
1.87
KB
-rw-r--r--
cvs.vim
882
B
-rw-r--r--
cvsrc.vim
1.22
KB
-rw-r--r--
cweb.vim
2.82
KB
-rw-r--r--
cynlib.vim
2.49
KB
-rw-r--r--
cynpp.vim
1.23
KB
-rw-r--r--
d.vim
27.96
KB
-rw-r--r--
dart.vim
3.21
KB
-rw-r--r--
datascript.vim
3.72
KB
-rw-r--r--
dcd.vim
1.76
KB
-rw-r--r--
dcl.vim
6.23
KB
-rw-r--r--
debchangelog.vim
3.45
KB
-rw-r--r--
debcontrol.vim
8.57
KB
-rw-r--r--
debcopyright.vim
1.11
KB
-rw-r--r--
debsources.vim
2.26
KB
-rw-r--r--
def.vim
1.07
KB
-rw-r--r--
denyhosts.vim
7.19
KB
-rw-r--r--
dep3patch.vim
2.93
KB
-rw-r--r--
desc.vim
3
KB
-rw-r--r--
desktop.vim
9.13
KB
-rw-r--r--
dictconf.vim
3.04
KB
-rw-r--r--
dictdconf.vim
6.31
KB
-rw-r--r--
diff.vim
17.01
KB
-rw-r--r--
dircolors.vim
6.78
KB
-rw-r--r--
dirpager.vim
1.75
KB
-rw-r--r--
diva.vim
4.63
KB
-rw-r--r--
django.vim
3.92
KB
-rw-r--r--
dns.vim
132
B
-rw-r--r--
dnsmasq.vim
9.83
KB
-rw-r--r--
docbk.vim
10.08
KB
-rw-r--r--
docbksgml.vim
193
B
-rw-r--r--
docbkxml.vim
191
B
-rw-r--r--
dockerfile.vim
2.42
KB
-rw-r--r--
dosbatch.vim
6.11
KB
-rw-r--r--
dosini.vim
1.24
KB
-rw-r--r--
dot.vim
4.39
KB
-rw-r--r--
doxygen.vim
38.01
KB
-rw-r--r--
dracula.vim
2.61
KB
-rw-r--r--
dsl.vim
1.28
KB
-rw-r--r--
dtd.vim
4.87
KB
-rw-r--r--
dtml.vim
16.22
KB
-rw-r--r--
dtrace.vim
6.29
KB
-rw-r--r--
dts.vim
5.02
KB
-rw-r--r--
dune.vim
1.9
KB
-rw-r--r--
dylan.vim
3.33
KB
-rw-r--r--
dylanintr.vim
1.05
KB
-rw-r--r--
dylanlid.vim
664
B
-rw-r--r--
ecd.vim
1.2
KB
-rw-r--r--
edif.vim
1.25
KB
-rw-r--r--
eiffel.vim
6.76
KB
-rw-r--r--
elf.vim
2.29
KB
-rw-r--r--
elinks.vim
10.25
KB
-rw-r--r--
elm.vim
3.57
KB
-rw-r--r--
elmfilt.vim
2.83
KB
-rw-r--r--
erlang.vim
10.87
KB
-rw-r--r--
eruby.vim
3.22
KB
-rw-r--r--
esmtprc.vim
938
B
-rw-r--r--
esqlc.vim
2.04
KB
-rw-r--r--
esterel.vim
2.98
KB
-rw-r--r--
eterm.vim
18.72
KB
-rw-r--r--
euphoria3.vim
5.96
KB
-rw-r--r--
euphoria4.vim
14.2
KB
-rw-r--r--
eviews.vim
4.89
KB
-rw-r--r--
exim.vim
17.66
KB
-rw-r--r--
expect.vim
3.65
KB
-rw-r--r--
exports.vim
1.71
KB
-rw-r--r--
falcon.vim
11.73
KB
-rw-r--r--
fan.vim
5.32
KB
-rw-r--r--
fasm.vim
8.55
KB
-rw-r--r--
fdcc.vim
5.52
KB
-rw-r--r--
fetchmail.vim
3.23
KB
-rw-r--r--
fgl.vim
7.1
KB
-rw-r--r--
flexwiki.vim
5.31
KB
-rw-r--r--
focexec.vim
3.44
KB
-rw-r--r--
form.vim
6.24
KB
-rw-r--r--
forth.vim
10.42
KB
-rw-r--r--
fortran.vim
32.6
KB
-rw-r--r--
foxpro.vim
32.09
KB
-rw-r--r--
fpcmake.vim
2
KB
-rw-r--r--
framescript.vim
11.41
KB
-rw-r--r--
freebasic.vim
10.58
KB
-rw-r--r--
fstab.vim
15.51
KB
-rw-r--r--
fvwm.vim
24.44
KB
-rw-r--r--
fvwm2m4.vim
711
B
-rw-r--r--
gdb.vim
4.31
KB
-rw-r--r--
gdmo.vim
3.22
KB
-rw-r--r--
gedcom.vim
2.22
KB
-rw-r--r--
gemtext.vim
682
B
-rw-r--r--
gift.vim
10
KB
-rw-r--r--
git.vim
4.2
KB
-rw-r--r--
gitcommit.vim
4.96
KB
-rw-r--r--
gitconfig.vim
1.56
KB
-rw-r--r--
gitolite.vim
4.35
KB
-rw-r--r--
gitrebase.vim
2.88
KB
-rw-r--r--
gitsendemail.vim
580
B
-rw-r--r--
gkrellmrc.vim
4.02
KB
-rw-r--r--
gnash.vim
3.38
KB
-rw-r--r--
gnuplot.vim
23.27
KB
-rw-r--r--
go.vim
19.36
KB
-rw-r--r--
godoc.vim
352
B
-rw-r--r--
gp.vim
2.9
KB
-rw-r--r--
gpg.vim
5.46
KB
-rw-r--r--
gprof.vim
2.09
KB
-rw-r--r--
grads.vim
1.7
KB
-rw-r--r--
gretl.vim
3.64
KB
-rw-r--r--
groff.vim
321
B
-rw-r--r--
groovy.vim
21.96
KB
-rw-r--r--
group.vim
1.68
KB
-rw-r--r--
grub.vim
3.8
KB
-rw-r--r--
gsp.vim
1.98
KB
-rw-r--r--
gtkrc.vim
9.1
KB
-rw-r--r--
gvpr.vim
3.3
KB
-rw-r--r--
haml.vim
6.91
KB
-rw-r--r--
hamster.vim
13.52
KB
-rw-r--r--
haskell.vim
9.03
KB
-rw-r--r--
haste.vim
4.88
KB
-rw-r--r--
hastepreproc.vim
1.39
KB
-rw-r--r--
hb.vim
3.08
KB
-rw-r--r--
help.vim
8.23
KB
-rw-r--r--
help_ru.vim
3.44
KB
-rw-r--r--
hercules.vim
5.59
KB
-rw-r--r--
hex.vim
3.92
KB
-rw-r--r--
hgcommit.vim
1.09
KB
-rw-r--r--
hitest.vim
3.56
KB
-rw-r--r--
hog.vim
11.83
KB
-rw-r--r--
hollywood.vim
47.39
KB
-rw-r--r--
hostconf.vim
3.78
KB
-rw-r--r--
hostsaccess.vim
549
B
-rw-r--r--
html.vim
18.11
KB
-rw-r--r--
htmlcheetah.vim
488
B
-rw-r--r--
htmldjango.vim
1011
B
-rw-r--r--
htmlm4.vim
670
B
-rw-r--r--
htmlos.vim
8.12
KB
-rw-r--r--
i3config.vim
15.51
KB
-rw-r--r--
ia64.vim
10.23
KB
-rw-r--r--
ibasic.vim
6.87
KB
-rw-r--r--
icemenu.vim
824
B
-rw-r--r--
icon.vim
6.81
KB
-rw-r--r--
idl.vim
19.43
KB
-rw-r--r--
idlang.vim
13.15
KB
-rw-r--r--
indent.vim
7.03
KB
-rw-r--r--
inform.vim
19.03
KB
-rw-r--r--
initex.vim
18.77
KB
-rw-r--r--
initng.vim
3.32
KB
-rw-r--r--
inittab.vim
2.48
KB
-rw-r--r--
ipfilter.vim
1.58
KB
-rw-r--r--
ishd.vim
26.42
KB
-rw-r--r--
iss.vim
4.91
KB
-rw-r--r--
ist.vim
1.95
KB
-rw-r--r--
j.vim
9.22
KB
-rw-r--r--
jal.vim
8.75
KB
-rw-r--r--
jam.vim
26.08
KB
-rw-r--r--
jargon.vim
740
B
-rw-r--r--
java.vim
18.15
KB
-rw-r--r--
javacc.vim
2.2
KB
-rw-r--r--
javascript.vim
5.54
KB
-rw-r--r--
javascriptreact.vim
133
B
-rw-r--r--
jess.vim
6.08
KB
-rw-r--r--
jgraph.vim
1.18
KB
-rw-r--r--
jovial.vim
4.01
KB
-rw-r--r--
jproperties.vim
5.37
KB
-rw-r--r--
json.vim
6.11
KB
-rw-r--r--
jsonc.vim
1.69
KB
-rw-r--r--
jsp.vim
2.62
KB
-rw-r--r--
julia.vim
37.02
KB
-rw-r--r--
kconfig.vim
35.45
KB
-rw-r--r--
kivy.vim
986
B
-rw-r--r--
kix.vim
6.18
KB
-rw-r--r--
kscript.vim
1.94
KB
-rw-r--r--
kwt.vim
2.4
KB
-rw-r--r--
lace.vim
3.98
KB
-rw-r--r--
latte.vim
3.43
KB
-rw-r--r--
ld.vim
2.85
KB
-rw-r--r--
ldapconf.vim
12.99
KB
-rw-r--r--
ldif.vim
1014
B
-rw-r--r--
less.vim
4.1
KB
-rw-r--r--
lex.vim
8.45
KB
-rw-r--r--
lftp.vim
7.3
KB
-rw-r--r--
lhaskell.vim
4.82
KB
-rw-r--r--
libao.vim
636
B
-rw-r--r--
lifelines.vim
6.48
KB
-rw-r--r--
lilo.vim
10.18
KB
-rw-r--r--
limits.vim
1.29
KB
-rw-r--r--
liquid.vim
6.04
KB
-rw-r--r--
lisp.vim
35.18
KB
-rw-r--r--
lite.vim
4.73
KB
-rw-r--r--
litestep.vim
6.52
KB
-rw-r--r--
loginaccess.vim
4.1
KB
-rw-r--r--
logindefs.vim
7.36
KB
-rw-r--r--
logtalk.vim
16.45
KB
-rw-r--r--
lotos.vim
2.31
KB
-rw-r--r--
lout.vim
4.22
KB
-rw-r--r--
lpc.vim
22.6
KB
-rw-r--r--
lprolog.vim
3.89
KB
-rw-r--r--
lscript.vim
11.82
KB
-rw-r--r--
lsl.vim
15.43
KB
-rw-r--r--
lss.vim
4.76
KB
-rw-r--r--
lua.vim
13.72
KB
-rw-r--r--
lynx.vim
6.42
KB
-rw-r--r--
m3build.vim
5.64
KB
-rw-r--r--
m3quake.vim
2.57
KB
-rw-r--r--
m4.vim
2.63
KB
-rw-r--r--
mail.vim
5.93
KB
-rw-r--r--
mailaliases.vim
2.7
KB
-rw-r--r--
mailcap.vim
1.11
KB
-rw-r--r--
make.vim
6.05
KB
-rw-r--r--
mallard.vim
1.69
KB
-rw-r--r--
man.vim
1.64
KB
-rw-r--r--
manconf.vim
4.24
KB
-rw-r--r--
manual.vim
909
B
-rw-r--r--
maple.vim
27.9
KB
-rw-r--r--
markdown.vim
8.91
KB
-rw-r--r--
masm.vim
16.84
KB
-rw-r--r--
mason.vim
3.73
KB
-rw-r--r--
master.vim
1022
B
-rw-r--r--
matlab.vim
4.21
KB
-rw-r--r--
maxima.vim
18.36
KB
-rw-r--r--
mel.vim
3.33
KB
-rw-r--r--
meson.vim
3.88
KB
-rw-r--r--
messages.vim
2.65
KB
-rw-r--r--
mf.vim
15.06
KB
-rw-r--r--
mgl.vim
3.64
KB
-rw-r--r--
mgp.vim
1.95
KB
-rw-r--r--
mib.vim
2.63
KB
-rw-r--r--
mix.vim
2.87
KB
-rw-r--r--
mma.vim
11.52
KB
-rw-r--r--
mmix.vim
4.85
KB
-rw-r--r--
mmp.vim
1.45
KB
-rw-r--r--
modconf.vim
1.39
KB
-rw-r--r--
model.vim
1.43
KB
-rw-r--r--
modsim3.vim
3.54
KB
-rw-r--r--
modula2.vim
3.15
KB
-rw-r--r--
modula3.vim
3.01
KB
-rw-r--r--
monk.vim
9.98
KB
-rw-r--r--
moo.vim
9.02
KB
-rw-r--r--
mp.vim
43.49
KB
-rw-r--r--
mplayerconf.vim
7.31
KB
-rw-r--r--
mrxvtrc.vim
9.38
KB
-rw-r--r--
msidl.vim
3.38
KB
-rw-r--r--
msmessages.vim
6.17
KB
-rw-r--r--
msql.vim
2.33
KB
-rw-r--r--
mupad.vim
15.11
KB
-rw-r--r--
murphi.vim
4.47
KB
-rw-r--r--
mush.vim
12.88
KB
-rw-r--r--
muttrc.vim
64.27
KB
-rw-r--r--
mysql.vim
17.2
KB
-rw-r--r--
n1ql.vim
12.6
KB
-rw-r--r--
named.vim
9.77
KB
-rw-r--r--
nanorc.vim
10.37
KB
-rw-r--r--
nasm.vim
25.8
KB
-rw-r--r--
nastran.vim
8.3
KB
-rw-r--r--
natural.vim
6.81
KB
-rw-r--r--
ncf.vim
13.1
KB
-rw-r--r--
neomuttrc.vim
64
KB
-rw-r--r--
netrc.vim
1.89
KB
-rw-r--r--
netrw.vim
7.03
KB
-rw-r--r--
nginx.vim
114.01
KB
-rw-r--r--
ninja.vim
2.82
KB
-rw-r--r--
nosyntax.vim
755
B
-rw-r--r--
nqc.vim
13.74
KB
-rw-r--r--
nroff.vim
7.61
KB
-rw-r--r--
nsis.vim
35.28
KB
-rw-r--r--
obj.vim
2.72
KB
-rw-r--r--
objc.vim
40.79
KB
-rw-r--r--
objcpp.vim
600
B
-rw-r--r--
ocaml.vim
16.56
KB
-rw-r--r--
occam.vim
4.21
KB
-rw-r--r--
omnimark.vim
6.23
KB
-rw-r--r--
opam.vim
1.37
KB
-rw-r--r--
openroad.vim
13.65
KB
-rw-r--r--
opl.vim
4.03
KB
-rw-r--r--
ora.vim
26.5
KB
-rw-r--r--
pamconf.vim
5.81
KB
-rw-r--r--
pamenv.vim
1.11
KB
-rw-r--r--
papp.vim
3.7
KB
-rw-r--r--
pascal.vim
15.61
KB
-rw-r--r--
passwd.vim
2.39
KB
-rw-r--r--
pbtxt.vim
1.34
KB
-rw-r--r--
pcap.vim
1.46
KB
-rw-r--r--
pccts.vim
4
KB
-rw-r--r--
pdf.vim
3.46
KB
-rw-r--r--
perl.vim
37.57
KB
-rw-r--r--
pf.vim
10.13
KB
-rw-r--r--
pfmain.vim
90.56
KB
-rw-r--r--
php.vim
111.88
KB
-rw-r--r--
phtml.vim
151
B
-rw-r--r--
pic.vim
3.25
KB
-rw-r--r--
pike.vim
21.3
KB
-rw-r--r--
pilrc.vim
5.19
KB
-rw-r--r--
pine.vim
15.05
KB
-rw-r--r--
pinfo.vim
5.17
KB
-rw-r--r--
plaintex.vim
10.06
KB
-rw-r--r--
pli.vim
12.91
KB
-rw-r--r--
plm.vim
5.24
KB
-rw-r--r--
plp.vim
1.24
KB
-rw-r--r--
plsql.vim
12.62
KB
-rw-r--r--
po.vim
6.24
KB
-rw-r--r--
pod.vim
7.11
KB
-rw-r--r--
poke.vim
5.07
KB
-rw-r--r--
postscr.vim
45.05
KB
-rw-r--r--
pov.vim
8.84
KB
-rw-r--r--
povini.vim
3.41
KB
-rw-r--r--
ppd.vim
868
B
-rw-r--r--
ppwiz.vim
2.71
KB
-rw-r--r--
prescribe.vim
2.33
KB
-rw-r--r--
privoxy.vim
3.5
KB
-rw-r--r--
procmail.vim
1.97
KB
-rw-r--r--
progress.vim
31
KB
-rw-r--r--
prolog.vim
4.39
KB
-rw-r--r--
promela.vim
1.69
KB
-rw-r--r--
proto.vim
3.46
KB
-rw-r--r--
protocols.vim
1.4
KB
-rw-r--r--
ps1.vim
7.33
KB
-rw-r--r--
ps1xml.vim
1.25
KB
-rw-r--r--
psf.vim
4.19
KB
-rw-r--r--
psl.vim
2.47
KB
-rw-r--r--
ptcap.vim
4.03
KB
-rw-r--r--
purifylog.vim
3.28
KB
-rw-r--r--
pyrex.vim
1.62
KB
-rw-r--r--
python.vim
12.84
KB
-rw-r--r--
qf.vim
596
B
-rw-r--r--
quake.vim
8.35
KB
-rw-r--r--
r.vim
15.32
KB
-rw-r--r--
racc.vim
5.49
KB
-rw-r--r--
radiance.vim
6.99
KB
-rw-r--r--
raku.vim
73.89
KB
-rw-r--r--
raml.vim
4.35
KB
-rw-r--r--
ratpoison.vim
17.61
KB
-rw-r--r--
rc.vim
9.98
KB
-rw-r--r--
rcs.vim
2.08
KB
-rw-r--r--
rcslog.vim
557
B
-rw-r--r--
readline.vim
17.08
KB
-rw-r--r--
rebol.vim
7
KB
-rw-r--r--
redif.vim
85.88
KB
-rw-r--r--
registry.vim
3.28
KB
-rw-r--r--
rego.vim
3.74
KB
-rw-r--r--
remind.vim
2.65
KB
-rw-r--r--
resolv.vim
6.21
KB
-rw-r--r--
reva.vim
7.41
KB
-rw-r--r--
rexx.vim
14.97
KB
-rw-r--r--
rhelp.vim
11.85
KB
-rw-r--r--
rib.vim
2.14
KB
-rw-r--r--
rmd.vim
6.13
KB
-rw-r--r--
rnc.vim
2.21
KB
-rw-r--r--
rng.vim
817
B
-rw-r--r--
rnoweb.vim
1.87
KB
-rw-r--r--
robots.vim
1.49
KB
-rw-r--r--
routeros.vim
3.28
KB
-rw-r--r--
rpcgen.vim
1.63
KB
-rw-r--r--
rpl.vim
25.1
KB
-rw-r--r--
rrst.vim
1.28
KB
-rw-r--r--
rst.vim
11.5
KB
-rw-r--r--
rtf.vim
2.28
KB
-rw-r--r--
ruby.vim
40.12
KB
-rw-r--r--
rust.vim
16.22
KB
-rw-r--r--
samba.vim
5.99
KB
-rw-r--r--
sas.vim
33.29
KB
-rw-r--r--
sass.vim
6.12
KB
-rw-r--r--
sather.vim
3.41
KB
-rw-r--r--
sbt.vim
880
B
-rw-r--r--
scala.vim
11.18
KB
-rw-r--r--
scdoc.vim
1.84
KB
-rw-r--r--
scheme.vim
18.98
KB
-rw-r--r--
scilab.vim
3.13
KB
-rw-r--r--
screen.vim
8.89
KB
-rw-r--r--
scss.vim
526
B
-rw-r--r--
sd.vim
2.17
KB
-rw-r--r--
sdc.vim
1.36
KB
-rw-r--r--
sdl.vim
6.41
KB
-rw-r--r--
sed.vim
4.92
KB
-rw-r--r--
sendpr.vim
905
B
-rw-r--r--
sensors.vim
1.48
KB
-rw-r--r--
services.vim
1.78
KB
-rw-r--r--
setserial.vim
5.11
KB
-rw-r--r--
sexplib.vim
3.6
KB
-rw-r--r--
sgml.vim
8.66
KB
-rw-r--r--
sgmldecl.vim
1.99
KB
-rw-r--r--
sgmllnx.vim
1.81
KB
-rw-r--r--
sh.vim
43.34
KB
-rw-r--r--
sicad.vim
18.04
KB
-rw-r--r--
sieve.vim
1.63
KB
-rw-r--r--
sil.vim
8.34
KB
-rw-r--r--
simula.vim
3.29
KB
-rw-r--r--
sinda.vim
3.58
KB
-rw-r--r--
sindacmp.vim
1.24
KB
-rw-r--r--
sindaout.vim
1.92
KB
-rw-r--r--
sisu.vim
21.66
KB
-rw-r--r--
skill.vim
25.17
KB
-rw-r--r--
sl.vim
3.99
KB
-rw-r--r--
slang.vim
3.22
KB
-rw-r--r--
slice.vim
2.86
KB
-rw-r--r--
slpconf.vim
11.51
KB
-rw-r--r--
slpreg.vim
5.22
KB
-rw-r--r--
slpspi.vim
1.15
KB
-rw-r--r--
slrnrc.vim
12.51
KB
-rw-r--r--
slrnsc.vim
3.03
KB
-rw-r--r--
sm.vim
2.78
KB
-rw-r--r--
smarty.vim
2.82
KB
-rw-r--r--
smcl.vim
11.76
KB
-rw-r--r--
smil.vim
5.48
KB
-rw-r--r--
smith.vim
793
B
-rw-r--r--
sml.vim
9.24
KB
-rw-r--r--
snnsnet.vim
2.42
KB
-rw-r--r--
snnspat.vim
2.18
KB
-rw-r--r--
snnsres.vim
1.89
KB
-rw-r--r--
snobol4.vim
5.21
KB
-rw-r--r--
spec.vim
12.41
KB
-rw-r--r--
specman.vim
7.17
KB
-rw-r--r--
spice.vim
2.19
KB
-rw-r--r--
splint.vim
15.42
KB
-rw-r--r--
spup.vim
13.6
KB
-rw-r--r--
spyce.vim
4.35
KB
-rw-r--r--
sql.vim
1.09
KB
-rw-r--r--
sqlanywhere.vim
40.95
KB
-rw-r--r--
sqlforms.vim
6.58
KB
-rw-r--r--
sqlhana.vim
10.77
KB
-rw-r--r--
sqlinformix.vim
5.76
KB
-rw-r--r--
sqlj.vim
2.9
KB
-rw-r--r--
sqloracle.vim
7.47
KB
-rw-r--r--
sqr.vim
12.71
KB
-rw-r--r--
squid.vim
6.77
KB
-rw-r--r--
squirrel.vim
1.43
KB
-rw-r--r--
srec.vim
3.73
KB
-rw-r--r--
sshconfig.vim
11.47
KB
-rw-r--r--
sshdconfig.vim
12.88
KB
-rw-r--r--
st.vim
2.69
KB
-rw-r--r--
stata.vim
26.42
KB
-rw-r--r--
stp.vim
5.3
KB
-rw-r--r--
strace.vim
1.92
KB
-rw-r--r--
structurizr.vim
2.05
KB
-rw-r--r--
sudoers.vim
23.96
KB
-rw-r--r--
svg.vim
436
B
-rw-r--r--
svn.vim
1.81
KB
-rw-r--r--
swift.vim
8.62
KB
-rw-r--r--
swiftgyb.vim
822
B
-rw-r--r--
syncolor.vim
4.04
KB
-rw-r--r--
synload.vim
1.99
KB
-rw-r--r--
syntax.vim
1.2
KB
-rw-r--r--
sysctl.vim
1.13
KB
-rw-r--r--
systemd.vim
184
B
-rw-r--r--
systemverilog.vim
3.46
KB
-rw-r--r--
tads.vim
6.7
KB
-rw-r--r--
tags.vim
1.13
KB
-rw-r--r--
tak.vim
2.85
KB
-rw-r--r--
takcmp.vim
1.56
KB
-rw-r--r--
takout.vim
1.95
KB
-rw-r--r--
tap.vim
4.26
KB
-rw-r--r--
tar.vim
373
B
-rw-r--r--
taskdata.vim
1.18
KB
-rw-r--r--
taskedit.vim
1.1
KB
-rw-r--r--
tasm.vim
5.56
KB
-rw-r--r--
tcl.vim
16.87
KB
-rw-r--r--
tcsh.vim
13.36
KB
-rw-r--r--
template.vim
449
B
-rw-r--r--
teraterm.vim
4.86
KB
-rw-r--r--
terminfo.vim
4.69
KB
-rw-r--r--
tex.vim
63.52
KB
-rw-r--r--
texinfo.vim
1.55
KB
-rw-r--r--
texmf.vim
2.23
KB
-rw-r--r--
tf.vim
6.74
KB
-rw-r--r--
tidy.vim
13.24
KB
-rw-r--r--
tilde.vim
1.5
KB
-rw-r--r--
tli.vim
1.62
KB
-rw-r--r--
tmux.vim
6.21
KB
-rw-r--r--
toml.vim
3.02
KB
-rw-r--r--
tpp.vim
3.33
KB
-rw-r--r--
trasys.vim
4.92
KB
-rw-r--r--
treetop.vim
3.58
KB
-rw-r--r--
trustees.vim
1.51
KB
-rw-r--r--
tsalt.vim
8.13
KB
-rw-r--r--
tsscl.vim
5
KB
-rw-r--r--
tssgm.vim
2.72
KB
-rw-r--r--
tssop.vim
1.74
KB
-rw-r--r--
tt2.vim
7.74
KB
-rw-r--r--
tt2html.vim
516
B
-rw-r--r--
tt2js.vim
522
B
-rw-r--r--
typescript.vim
1.39
KB
-rw-r--r--
typescriptcommon.vim
131.31
KB
-rw-r--r--
typescriptreact.vim
3.83
KB
-rw-r--r--
uc.vim
6.48
KB
-rw-r--r--
udevconf.vim
1.2
KB
-rw-r--r--
udevperm.vim
2.35
KB
-rw-r--r--
udevrules.vim
6.8
KB
-rw-r--r--
uil.vim
2.75
KB
-rw-r--r--
updatedb.vim
1.19
KB
-rw-r--r--
upstart.vim
3.09
KB
-rw-r--r--
upstreamdat.vim
13.72
KB
-rw-r--r--
upstreaminstalllog.vim
971
B
-rw-r--r--
upstreamlog.vim
2.56
KB
-rw-r--r--
upstreamrpt.vim
13.86
KB
-rw-r--r--
usserverlog.vim
3.04
KB
-rw-r--r--
usw2kagtlog.vim
2.64
KB
-rw-r--r--
valgrind.vim
3.14
KB
-rw-r--r--
vb.vim
20.63
KB
-rw-r--r--
vera.vim
19.09
KB
-rw-r--r--
verilog.vim
4.94
KB
-rw-r--r--
verilogams.vim
5.94
KB
-rw-r--r--
vgrindefs.vim
1.19
KB
-rw-r--r--
vhdl.vim
9.43
KB
-rw-r--r--
vim.vim
74.18
KB
-rw-r--r--
viminfo.vim
1.21
KB
-rw-r--r--
virata.vim
11.34
KB
-rw-r--r--
vmasm.vim
8.31
KB
-rw-r--r--
voscm.vim
6.81
KB
-rw-r--r--
vrml.vim
12.49
KB
-rw-r--r--
vroom.vim
3.41
KB
-rw-r--r--
vsejcl.vim
1004
B
-rw-r--r--
vue.vim
433
B
-rw-r--r--
wast.vim
3.83
KB
-rw-r--r--
wdiff.vim
716
B
-rw-r--r--
web.vim
1.09
KB
-rw-r--r--
webmacro.vim
3.06
KB
-rw-r--r--
wget.vim
3.87
KB
-rw-r--r--
whitespace.vim
357
B
-rw-r--r--
winbatch.vim
11.87
KB
-rw-r--r--
wml.vim
5.6
KB
-rw-r--r--
wsh.vim
1.21
KB
-rw-r--r--
wsml.vim
5.27
KB
-rw-r--r--
wvdial.vim
1.07
KB
-rw-r--r--
xbl.vim
568
B
-rw-r--r--
xdefaults.vim
5.75
KB
-rw-r--r--
xf86conf.vim
14.38
KB
-rw-r--r--
xhtml.vim
186
B
-rw-r--r--
xinetd.vim
13.88
KB
-rw-r--r--
xkb.vim
3.24
KB
-rw-r--r--
xmath.vim
10.58
KB
-rw-r--r--
xml.vim
9.12
KB
-rw-r--r--
xmodmap.vim
45.42
KB
-rw-r--r--
xpm.vim
4.38
KB
-rw-r--r--
xpm2.vim
4.59
KB
-rw-r--r--
xquery.vim
7.02
KB
-rw-r--r--
xs.vim
240.96
KB
-rw-r--r--
xsd.vim
2.08
KB
-rw-r--r--
xslt.vim
2.59
KB
-rw-r--r--
xxd.vim
767
B
-rw-r--r--
yacc.vim
5.52
KB
-rw-r--r--
yaml.vim
12.57
KB
-rw-r--r--
z8a.vim
2.83
KB
-rw-r--r--
zimbu.vim
6.29
KB
-rw-r--r--
zsh.vim
13.08
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : julia.vim
" Vim syntax file " Language: julia " Maintainer: Carlo Baldassi <carlobaldassi@gmail.com> " Homepage: https://github.com/JuliaEditorSupport/julia-vim " Last Change: 2021 Aug 04 if version < 600 syntax clear elseif exists("b:current_syntax") finish endif let s:cpo_save = &cpo set cpo&vim if version < 704 " this is used to disable regex syntax like `\@3<=' " on older vim versions function! s:d(x) return '' endfunction else function! s:d(x) return string(a:x) endfunction endif scriptencoding utf-8 let s:julia_spellcheck_strings = get(g:, "julia_spellcheck_strings", 0) let s:julia_spellcheck_docstrings = get(g:, "julia_spellcheck_docstrings", 1) let s:julia_spellcheck_comments = get(g:, "julia_spellcheck_comments", 1) let s:julia_highlight_operators = get(g:, "julia_highlight_operators", 1) " List of characters, up to \UFF, which cannot be used in identifiers. " (It includes operator characters; we don't consider them identifiers.) " This is used mostly in lookbehinds with `\@<=`, e.g. when we need to check " that that we're not in the middle of an identifier. " It doesn't include a few characters (spaces and all closing parentheses) " because those may or may not be valid in the lookbehind on a case-by-case " basis. let s:nonid_chars = '\U00-\U08' . '\U0A-\U1F' \ . '\U21-\U28' . '\U2A-\U2F' . '\U3A-\U40' . '\U5B-\U5E' . '\U60' . '\U7B\U7C' \ . '\U7E-\UA1' . '\UA7\UA8' . '\UAB-\UAD' . '\UAF\UB1\UB4' . '\UB6-\UB8' . '\UBB\UBF' . '\UD7\UF7' " The complete list let s:nonidS_chars = '[:space:])\U5D}' . s:nonid_chars " List of all valid operator chars up to \UFF (NOTE: they must all be included " in s:nonidS_chars, so that if we include that, then this is redundant) " It does not include '!' since it can be used in an identifier. " The list contains the following characters: '%&*+-/<=>\\^|~¬±×÷' let s:op_chars = '\U25\U26\U2A\U2B\U2D\U2F\U3C-\U3E\U5C\U5E\U7C\U7E\UAC\UB1\UD7\UF7' " List of all valid operator chars above \UFF " Written with ranges for performance reasons " The list contains the following characters: '…⁝⅋←↑→↓↔↚↛↜↝↞↠↢↣↤↦↩↪↫↬↮↶↷↺↻↼↽⇀⇁⇄⇆⇇⇉⇋⇌⇍⇎⇏⇐⇒⇔⇚⇛⇜⇝⇠⇢⇴⇵⇶⇷⇸⇹⇺⇻⇼⇽⇾⇿∈∉∊∋∌∍∓∔∗∘∙√∛∜∝∤∥∦∧∨∩∪∷∸∺∻∽∾≀≁≂≃≄≅≆≇≈≉≊≋≌≍≎≏≐≑≒≓≔≕≖≗≘≙≚≛≜≝≞≟≠≡≢≣≤≥≦≧≨≩≪≫≬≭≮≯≰≱≲≳≴≵≶≷≸≹≺≻≼≽≾≿⊀⊁⊂⊃⊄⊅⊆⊇⊈⊉⊊⊋⊍⊎⊏⊐⊑⊒⊓⊔⊕⊖⊗⊘⊙⊚⊛⊜⊞⊟⊠⊡⊢⊣⊩⊬⊮⊰⊱⊲⊳⊴⊵⊶⊷⊻⊼⊽⋄⋅⋆⋇⋉⋊⋋⋌⋍⋎⋏⋐⋑⋒⋓⋕⋖⋗⋘⋙⋚⋛⋜⋝⋞⋟⋠⋡⋢⋣⋤⋥⋦⋧⋨⋩⋪⋫⋬⋭⋮⋯⋰⋱⋲⋳⋴⋵⋶⋷⋸⋹⋺⋻⋼⋽⋾⋿⌿▷⟂⟈⟉⟑⟒⟕⟖⟗⟰⟱⟵⟶⟷⟹⟺⟻⟼⟽⟾⟿⤀⤁⤂⤃⤄⤅⤆⤇⤈⤉⤊⤋⤌⤍⤎⤏⤐⤑⤒⤓⤔⤕⤖⤗⤘⤝⤞⤟⤠⥄⥅⥆⥇⥈⥉⥊⥋⥌⥍⥎⥏⥐⥑⥒⥓⥔⥕⥖⥗⥘⥙⥚⥛⥜⥝⥞⥟⥠⥡⥢⥣⥤⥥⥦⥧⥨⥩⥪⥫⥬⥭⥮⥯⥰⦷⦸⦼⦾⦿⧀⧁⧡⧣⧤⧥⧴⧶⧷⧺⧻⨇⨈⨝⨟⨢⨣⨤⨥⨦⨧⨨⨩⨪⨫⨬⨭⨮⨰⨱⨲⨳⨴⨵⨶⨷⨸⨹⨺⨻⨼⨽⩀⩁⩂⩃⩄⩅⩊⩋⩌⩍⩎⩏⩐⩑⩒⩓⩔⩕⩖⩗⩘⩚⩛⩜⩝⩞⩟⩠⩡⩢⩣⩦⩧⩪⩫⩬⩭⩮⩯⩰⩱⩲⩳⩴⩵⩶⩷⩸⩹⩺⩻⩼⩽⩾⩿⪀⪁⪂⪃⪄⪅⪆⪇⪈⪉⪊⪋⪌⪍⪎⪏⪐⪑⪒⪓⪔⪕⪖⪗⪘⪙⪚⪛⪜⪝⪞⪟⪠⪡⪢⪣⪤⪥⪦⪧⪨⪩⪪⪫⪬⪭⪮⪯⪰⪱⪲⪳⪴⪵⪶⪷⪸⪹⪺⪻⪼⪽⪾⪿⫀⫁⫂⫃⫄⫅⫆⫇⫈⫉⫊⫋⫌⫍⫎⫏⫐⫑⫒⫓⫔⫕⫖⫗⫘⫙⫛⫷⫸⫹⫺⬰⬱⬲⬳⬴⬵⬶⬷⬸⬹⬺⬻⬼⬽⬾⬿⭀⭁⭂⭃⭄⭇⭈⭉⭊⭋⭌←↑→↓' let s:op_chars_wc = '\U2026\U205D\U214B\U2190-\U2194\U219A-\U219E\U21A0\U21A2-\U21A4\U21A6\U21A9-\U21AC\U21AE\U21B6\U21B7\U21BA-\U21BD\U21C0\U21C1\U21C4\U21C6\U21C7\U21C9\U21CB-\U21D0\U21D2\U21D4\U21DA-\U21DD\U21E0\U21E2\U21F4-\U21FF\U2208-\U220D\U2213\U2214\U2217-\U221D\U2224-\U222A\U2237\U2238\U223A\U223B\U223D\U223E\U2240-\U228B\U228D-\U229C\U229E-\U22A3\U22A9\U22AC\U22AE\U22B0-\U22B7\U22BB-\U22BD\U22C4-\U22C7\U22C9-\U22D3\U22D5-\U22FF\U233F\U25B7\U27C2\U27C8\U27C9\U27D1\U27D2\U27D5-\U27D7\U27F0\U27F1\U27F5-\U27F7\U27F9-\U27FF\U2900-\U2918\U291D-\U2920\U2944-\U2970\U29B7\U29B8\U29BC\U29BE-\U29C1\U29E1\U29E3-\U29E5\U29F4\U29F6\U29F7\U29FA\U29FB\U2A07\U2A08\U2A1D\U2A1F\U2A22-\U2A2E\U2A30-\U2A3D\U2A40-\U2A45\U2A4A-\U2A58\U2A5A-\U2A63\U2A66\U2A67\U2A6A-\U2AD9\U2ADB\U2AF7-\U2AFA\U2B30-\U2B44\U2B47-\U2B4C\UFFE9-\UFFEC' " Full operators regex let s:operators = '\%(' . '\.\%([-+*/^÷%|&⊻]\|//\|\\\|>>\|>>>\?\)\?=' . \ '\|' . '[:<>]=\|||\|&&\||>\|<|\|[<>:]:\|<<\|>>>\?\|//\|[-=]>\|\.\.\.\?' . \ '\|' . '\.\?[!' . s:op_chars . s:op_chars_wc . ']' . \ '\)' " Characters that can be used to start an identifier. Above \UBF we don't " bother checking. (If a UTF8 operator is used, it will take precedence anyway.) let s:id_charsH = '\%([A-Za-z_\UA2-\UA6\UA9\UAA\UAE\UB0\UB5\UBA]\|[^\U00-\UBF]\)' " Characters that can appear in an identifier, starting in 2nd position. Above " \UBF we check for operators since we need to stop the identifier if one " appears. We don't check for invalid characters though. let s:id_charsW = '\%([0-9A-Za-z_!\UA2-\UA6\UA9\UAA\UAE-\UB0\UB2-\UB5\UB8-\UBA\UBC-\UBE]\|[^\U00-\UBF]\@=[^' . s:op_chars_wc . ']\)' " A valid julia identifier, more or less let s:idregex = '\%(' . s:id_charsH . s:id_charsW . '*\)' syn case match syntax cluster juliaExpressions contains=@juliaParItems,@juliaStringItems,@juliaKeywordItems,@juliaBlocksItems,@juliaTypesItems,@juliaConstItems,@juliaMacroItems,@juliaSymbolItems,@juliaOperatorItems,@juliaNumberItems,@juliaCommentItems,@juliaErrorItems,@juliaSyntaxRegions syntax cluster juliaExprsPrintf contains=@juliaExpressions,@juliaPrintfItems syntax cluster juliaExprsNodot contains=@juliaParItems,@juliaStringItems,@juliaMacroItems,@juliaSymbolItems,@juliaOperatorItems,@juliaCommentItems,juliaIdSymbol syntax cluster juliaParItems contains=juliaParBlock,juliaSqBraIdxBlock,juliaSqBraBlock,juliaCurBraBlock,juliaQuotedParBlock,juliaQuotedQMarkPar syntax cluster juliaKeywordItems contains=juliaKeyword,juliaWhereKeyword,juliaImportLine,juliaInfixKeyword,juliaRepKeyword syntax cluster juliaBlocksItems contains=juliaConditionalBlock,juliaWhileBlock,juliaForBlock,juliaBeginBlock,juliaFunctionBlock,juliaMacroBlock,juliaQuoteBlock,juliaTypeBlock,juliaImmutableBlock,juliaExceptionBlock,juliaLetBlock,juliaDoBlock,juliaModuleBlock,juliaStructBlock,juliaMutableStructBlock,juliaAbstractBlock,juliaPrimitiveBlock syntax cluster juliaTypesItems contains=juliaBaseTypeBasic,juliaBaseTypeNum,juliaBaseTypeC,juliaBaseTypeError,juliaBaseTypeIter,juliaBaseTypeString,juliaBaseTypeArray,juliaBaseTypeDict,juliaBaseTypeSet,juliaBaseTypeIO,juliaBaseTypeProcess,juliaBaseTypeRange,juliaBaseTypeRegex,juliaBaseTypeFact,juliaBaseTypeFact,juliaBaseTypeSort,juliaBaseTypeRound,juliaBaseTypeSpecial,juliaBaseTypeRandom,juliaBaseTypeDisplay,juliaBaseTypeTime,juliaBaseTypeOther syntax cluster juliaConstItems contains=juliaConstNum,juliaConstBool,juliaConstEnv,juliaConstMMap,juliaConstC,juliaConstGeneric,juliaConstIO,juliaPossibleEuler syntax cluster juliaMacroItems contains=juliaPossibleMacro,juliaDollarVar,juliaDollarPar,juliaDollarSqBra syntax cluster juliaSymbolItems contains=juliaPossibleSymbol syntax cluster juliaNumberItems contains=juliaNumbers syntax cluster juliaStringItems contains=juliaChar,juliaString,juliabString,juliasString,juliaShellString,juliaDocString,juliaRegEx syntax cluster juliaPrintfItems contains=juliaPrintfParBlock,juliaPrintfString syntax cluster juliaOperatorItems contains=juliaOperator,juliaRangeOperator,juliaCTransOperator,juliaTernaryRegion,juliaColon,juliaSemicolon,juliaComma syntax cluster juliaCommentItems contains=juliaCommentL,juliaCommentM syntax cluster juliaErrorItems contains=juliaErrorPar,juliaErrorEnd,juliaErrorElse,juliaErrorCatch,juliaErrorFinally syntax cluster juliaSyntaxRegions contains=juliaIdSymbol,juliaTypeOperatorR2,juliaTypeOperatorR3,juliaWhereR,juliaDotted syntax cluster juliaSpellcheckStrings contains=@spell syntax cluster juliaSpellcheckDocStrings contains=@spell syntax cluster juliaSpellcheckComments contains=@spell if !s:julia_spellcheck_docstrings syntax cluster juliaSpellcheckDocStrings remove=@spell endif if !s:julia_spellcheck_strings syntax cluster juliaSpellcheckStrings remove=@spell endif if !s:julia_spellcheck_comments syntax cluster juliaSpellcheckComments remove=@spell endif syntax match juliaSemicolon display ";" syntax match juliaComma display "," syntax match juliaColon display ":" " A dot can introduce a sort of 'environment' such that words after it are not " recognized as keywords. This has low precedence so that it can be overridden " by operators syntax match juliaDotted transparent "\.\s*[^])}.]" contains=@juliaExprsNodot syntax match juliaDottedT contained transparent "\.\s*[^])}.]" contains=@juliaExprsNodot,juliaType syntax match juliaErrorPar display "[])}]" syntax match juliaErrorEnd display "\<end\>" syntax match juliaErrorElse display "\<\%(else\|elseif\)\>" syntax match juliaErrorCatch display "\<catch\>" syntax match juliaErrorFinally display "\<finally\>" syntax match juliaErrorSemicol display contained ";" syntax region juliaParBlock matchgroup=juliaParDelim start="(" end=")" contains=@juliaExpressions,juliaComprehensionFor syntax region juliaParBlockInRange matchgroup=juliaParDelim contained start="(" end=")" contains=@juliaExpressions,juliaParBlockInRange,juliaRangeKeyword,juliaComprehensionFor syntax region juliaSqBraIdxBlock matchgroup=juliaParDelim start="\[" end="\]" contains=@juliaExpressions,juliaParBlockInRange,juliaRangeKeyword,juliaComprehensionFor,juliaSymbolS,juliaQuotedParBlockS,juliaQuotedQMarkParS exec 'syntax region juliaSqBraBlock matchgroup=juliaParDelim start="\%(^\|\s\|' . s:operators . '\)\@'.s:d(3).'<=\[" end="\]" contains=@juliaExpressions,juliaComprehensionFor,juliaSymbolS,juliaQuotedParBlockS,juliaQuotedQMarkParS' syntax region juliaCurBraBlock matchgroup=juliaParDelim start="{" end="}" contains=juliaType,juliaDottedT,@juliaExpressions exec 'syntax match juliaType contained "\%(' . s:idregex . '\.\)*\zs' . s:idregex . '"' " This is a generic identifier followed by some symbol, either a type " operator (<: or >:), or an open parenthesis, or an open curly bracket. " It's used to recognize one of the contained regions looking for identifiers " only once. Once recognized, those regions no longer need to use the " expensive s:idregex. exec 'syntax match juliaIdSymbol transparent "' . s:idregex . '\%(\s*[<>]:\|\.\?(\|{\|\"\)\@=" contains=juliaFunctionCall,juliaParamType,juliaStringPrefixed,juliaTypeOperatorR1' syntax match juliaFunctionCall contained "[^{([:space:]<>\"]\+(\@=" nextgroup=juliaParBlock exec 'syntax match juliaFunctionDef contained transparent "\%(\<\%(function\|macro\)\)\@'.s:d(8).'<=\s\+\zs' . s:idregex . '\%(\.' . s:idregex . '\)*\ze\s*\%((\|\send\>\|$\)" contains=juliaFunctionName' exec 'syntax match juliaFunctionName contained "\%(\<\%(function\|macro\)\s\+\)\@'.s:d(20).'<=\%(' . s:idregex . '\.\)*\zs' . s:idregex . '"' exec 'syntax match juliaStructR contained transparent "\%(\<\%(\%(mutable\s\+\)\?struct\|\%(abstract\|primitive\)\s\+type\)\s\+\)\@'.s:d(20).'<=\%(' . s:idregex . '\.\)*' . s:idregex . '\>\(\s*(\)\@!" contains=juliaType' syntax match juliaKeyword display "\<\%(return\|local\|global\|const\)\>" syntax match juliaInfixKeyword display "\%(=\s*\)\@<!\<\%(in\|isa\)\>\S\@!\%(\s*=\)\@!" " The import/export/using keywords introduce a sort of special parsing " environment with its own rules exec 'syntax region juliaImportLine matchgroup=juliaKeyword excludenl start="\<\%(import\|using\|export\)\>" skip="\%(\%(\<\%(import\|using\|export\)\>\)\|^\)\@'.s:d(6).'<=$" end="$" end="\%([])}]\)\@=" contains=@juliaExpressions,juliaAsKeyword,@juliaContinuationItems,juliaMacroName' syntax match juliaAsKeyword display contained "\<as\>" syntax match juliaRepKeyword display "\<\%(break\|continue\)\>" syntax region juliaConditionalBlock matchgroup=juliaConditional start="\<if\>" end="\<end\>" contains=@juliaExpressions,juliaConditionalEIBlock,juliaConditionalEBlock fold syntax region juliaConditionalEIBlock matchgroup=juliaConditional transparent contained start="\<elseif\>" end="\<\%(end\|else\|elseif\)\>"me=s-1 contains=@juliaExpressions,juliaConditionalEIBlock,juliaConditionalEBlock syntax region juliaConditionalEBlock matchgroup=juliaConditional transparent contained start="\<else\>" end="\<end\>"me=s-1 contains=@juliaExpressions syntax region juliaWhileBlock matchgroup=juliaRepeat start="\<while\>" end="\<end\>" contains=@juliaExpressions fold syntax region juliaForBlock matchgroup=juliaRepeat start="\<for\>" end="\<end\>" contains=@juliaExpressions,juliaOuter fold syntax region juliaBeginBlock matchgroup=juliaBlKeyword start="\<begin\>" end="\<end\>" contains=@juliaExpressions fold syntax region juliaFunctionBlock matchgroup=juliaBlKeyword start="\<function\>" end="\<end\>" contains=@juliaExpressions,juliaFunctionDef fold syntax region juliaMacroBlock matchgroup=juliaBlKeyword start="\<macro\>" end="\<end\>" contains=@juliaExpressions,juliaFunctionDef fold syntax region juliaQuoteBlock matchgroup=juliaBlKeyword start="\<quote\>" end="\<end\>" contains=@juliaExpressions fold syntax region juliaStructBlock matchgroup=juliaBlKeyword start="\<struct\>" end="\<end\>" contains=@juliaExpressions,juliaStructR fold syntax region juliaMutableStructBlock matchgroup=juliaBlKeyword start="\<mutable\s\+struct\>" end="\<end\>" contains=@juliaExpressions,juliaStructR fold syntax region juliaLetBlock matchgroup=juliaBlKeyword start="\<let\>" end="\<end\>" contains=@juliaExpressions fold syntax region juliaDoBlock matchgroup=juliaBlKeyword start="\<do\>" end="\<end\>" contains=@juliaExpressions fold syntax region juliaModuleBlock matchgroup=juliaBlKeyword start="\<\%(bare\)\?module\>" end="\<end\>" contains=@juliaExpressions fold syntax region juliaExceptionBlock matchgroup=juliaException start="\<try\>" end="\<end\>" contains=@juliaExpressions,juliaCatchBlock,juliaFinallyBlock fold syntax region juliaCatchBlock matchgroup=juliaException transparent contained start="\<catch\>" end="\<end\>"me=s-1 contains=@juliaExpressions,juliaFinallyBlock syntax region juliaFinallyBlock matchgroup=juliaException transparent contained start="\<finally\>" end="\<end\>"me=s-1 contains=@juliaExpressions syntax region juliaAbstractBlock matchgroup=juliaBlKeyword start="\<abstract\s\+type\>" end="\<end\>" fold contains=@juliaExpressions,juliaStructR syntax region juliaPrimitiveBlock matchgroup=juliaBlKeyword start="\<primitive\s\+type\>" end="\<end\>" fold contains=@juliaExpressions,juliaStructR exec 'syntax region juliaComprehensionFor matchgroup=juliaComprehensionFor transparent contained start="\%([^[:space:],;:({[]\_s*\)\@'.s:d(80).'<=\<for\>" end="\ze[]);]" contains=@juliaExpressions,juliaComprehensionIf,juliaComprehensionFor' syntax match juliaComprehensionIf contained "\<if\>" exec 'syntax match juliaOuter contained "\<outer\ze\s\+' . s:idregex . '\>"' syntax match juliaRangeKeyword contained "\<\%(begin\|end\)\>" syntax match juliaBaseTypeBasic display "\<\%(\%(N\|Named\)\?Tuple\|Symbol\|Function\|Union\%(All\)\?\|Type\%(Name\|Var\)\?\|Any\|ANY\|Vararg\|Ptr\|Exception\|Module\|Expr\|DataType\|\%(LineNumber\|Quote\)Node\|\%(Weak\|Global\)\?Ref\|Method\|Pair\|Val\|Nothing\|Some\|Missing\)\>" syntax match juliaBaseTypeNum display "\<\%(U\?Int\%(8\|16\|32\|64\|128\)\?\|Float\%(16\|32\|64\)\|Complex\|Bool\|Char\|Number\|Signed\|Unsigned\|Integer\|AbstractFloat\|Real\|Rational\|\%(Abstract\)\?Irrational\|Enum\|BigInt\|BigFloat\|MathConst\|ComplexF\%(16\|32\|64\)\)\>" syntax match juliaBaseTypeC display "\<\%(FileOffset\|C\%(u\?\%(char\|short\|int\|long\(long\)\?\|w\?string\)\|float\|double\|\%(ptrdiff\|s\?size\|wchar\|off\|u\?intmax\)_t\|void\)\)\>" syntax match juliaBaseTypeError display "\<\%(\%(Bounds\|Divide\|Domain\|\%(Stack\)\?Overflow\|EOF\|Undef\%(Ref\|Var\)\|System\|Type\|Parse\|Argument\|Key\|Load\|Method\|Inexact\|OutOfMemory\|Init\|Assertion\|ReadOnlyMemory\|StringIndex\)Error\|\%(Interrupt\|Error\|ProcessExited\|Captured\|Composite\|InvalidState\|Missing\|\%(Process\|Task\)Failed\)Exception\|DimensionMismatch\|SegmentationFault\)\>" syntax match juliaBaseTypeIter display "\<\%(EachLine\|Enumerate\|Cartesian\%(Index\|Range\)\|LinSpace\|CartesianIndices\)\>" syntax match juliaBaseTypeString display "\<\%(DirectIndex\|Sub\|Rep\|Rev\|Abstract\|Substitution\)\?String\>" syntax match juliaBaseTypeArray display "\<\%(\%(Sub\)\?Array\|\%(Abstract\|Dense\|Strided\)\?\%(Array\|Matrix\|Vec\%(tor\|OrMat\)\)\|SparseMatrixCSC\|\%(AbstractSparse\|Bit\|Shared\)\%(Array\|Vector\|Matrix\)\|\%\(D\|Bid\|\%(Sym\)\?Trid\)iagonal\|Hermitian\|Symmetric\|UniformScaling\|\%(Lower\|Upper\)Triangular\|\%(Sparse\|Row\)Vector\|VecElement\|Conj\%(Array\|Matrix\|Vector\)\|Index\%(Cartesian\|Linear\|Style\)\|PermutedDimsArray\|Broadcasted\|Adjoint\|Transpose\|LinearIndices\)\>" syntax match juliaBaseTypeDict display "\<\%(WeakKey\|Id\|Abstract\)\?Dict\>" syntax match juliaBaseTypeSet display "\<\%(\%(Abstract\|Bit\)\?Set\)\>" syntax match juliaBaseTypeIO display "\<\%(IO\%(Stream\|Buffer\|Context\)\?\|RawFD\|StatStruct\|FileMonitor\|PollingFileWatcher\|Timer\|Base64\%(Decode\|Encode\)Pipe\|\%(UDP\|TCP\)Socket\|\%(Abstract\)\?Channel\|BufferStream\|ReentrantLock\|GenericIOBuffer\)\>" syntax match juliaBaseTypeProcess display "\<\%(Pipe\|Cmd\|PipeBuffer\)\>" syntax match juliaBaseTypeRange display "\<\%(Dims\|RangeIndex\|\%(Abstract\|Lin\|Ordinal\|Step\|\%(Abstract\)\?Unit\)Range\|Colon\|ExponentialBackOff\|StepRangeLen\)\>" syntax match juliaBaseTypeRegex display "\<Regex\%(Match\)\?\>" syntax match juliaBaseTypeFact display "\<\%(Factorization\|BunchKaufman\|\%(Cholesky\|QR\)\%(Pivoted\)\?\|\%(Generalized\)\?\%(Eigen\|SVD\|Schur\)\|Hessenberg\|LDLt\|LQ\|LU\)\>" syntax match juliaBaseTypeSort display "\<\%(Insertion\|\(Partial\)\?Quick\|Merge\)Sort\>" syntax match juliaBaseTypeRound display "\<Round\%(ingMode\|FromZero\|Down\|Nearest\%(Ties\%(Away\|Up\)\)\?\|ToZero\|Up\)\>" syntax match juliaBaseTypeSpecial display "\<\%(LocalProcess\|ClusterManager\)\>" syntax match juliaBaseTypeRandom display "\<\%(AbstractRNG\|MersenneTwister\|RandomDevice\)\>" syntax match juliaBaseTypeDisplay display "\<\%(Text\(Display\)\?\|\%(Abstract\)\?Display\|MIME\|HTML\)\>" syntax match juliaBaseTypeTime display "\<\%(Date\%(Time\)\?\|DateFormat\)\>" syntax match juliaBaseTypeOther display "\<\%(RemoteRef\|Task\|Condition\|VersionNumber\|IPv[46]\|SerializationState\|WorkerConfig\|Future\|RemoteChannel\|IPAddr\|Stack\%(Trace\|Frame\)\|\(Caching\|Worker\)Pool\|AbstractSerializer\)\>" syntax match juliaConstNum display "\%(\<\%(\%(NaN\|Inf\)\%(16\|32\|64\)\?\|pi\|π\)\>\)" " Note: recognition of ℯ, which Vim does not consider a valid identifier, is " complicated. We detect possible uses by just looking for the character (for " performance) and then check that it's actually used by its own. " (This also tries to detect preceding number constants; it does so in a crude " way.) syntax match juliaPossibleEuler "ℯ" contains=juliaEuler exec 'syntax match juliaEuler contained "\%(\%(^\|[' . s:nonidS_chars . s:op_chars_wc . ']\)\%(.\?[0-9][.0-9eEf_]*\d\)\?\)\@'.s:d(80).'<=ℯ\ze[' . s:nonidS_chars . s:op_chars_wc . ']"' syntax match juliaConstBool display "\<\%(true\|false\)\>" syntax match juliaConstEnv display "\<\%(ARGS\|ENV\|ENDIAN_BOM\|LOAD_PATH\|VERSION\|PROGRAM_FILE\|DEPOT_PATH\)\>" syntax match juliaConstIO display "\<\%(std\%(out\|in\|err\)\|devnull\)\>" syntax match juliaConstC display "\<\%(C_NULL\)\>" syntax match juliaConstGeneric display "\<\%(nothing\|Main\|undef\|missing\)\>" syntax match juliaParamType contained "[^{([:space:]<>\"]\+\ze{" nextgroup=juliaCurBraBlock syntax match juliaPossibleMacro transparent "@" contains=juliaMacroCall,juliaMacroCallP,juliaPrintfMacro,juliaDocMacro,juliaDocMacroPre exec 'syntax match juliaMacro contained "@' . s:idregex . '\%(\.' . s:idregex . '\)*"' syntax match juliaMacro contained "@[!.~$%^*/\\|<>+-]\ze[^0-9]" exec 'syntax region juliaMacroCall contained transparent start="\(@' . s:idregex . '\%(\.' . s:idregex . '\)*\)\@=\1\%([^(]\|$\)" end="\ze\%([])};#]\|$\|\<for\>\|\<end\>\)" contains=@juliaExpressions,juliaMacro,juliaSymbolS,juliaQuotedParBlockS' exec 'syntax region juliaMacroCall contained transparent start="\(@.\)\@=\1\%([^(]\|$\)" end="\ze\%([])};#]\|$\|\<for\>\|\<end\>\)" contains=@juliaExpressions,juliaMacro,juliaSymbolS,juliaQuotedParBlockS' exec 'syntax region juliaMacroCallP contained transparent start="@' . s:idregex . '\%(\.' . s:idregex . '\)*(" end=")\@'.s:d(1).'<=" contains=juliaMacro,juliaParBlock' exec 'syntax region juliaMacroCallP contained transparent start="@.(" end=")\@'.s:d(1).'<=" contains=juliaMacro,juliaParBlock' exec 'syntax match juliaNumbers transparent "\%(^\|[' . s:nonidS_chars . s:op_chars_wc . ']\)\@'.s:d(1).'<=\d\|\.\d\|im\>" contains=juliaNumber,juliaFloat,juliaComplexUnit' "integer regexes let s:dec_regex = '\d\%(_\?\d\)*\%(\>\|im\>\|\ze\D\)' let s:hex_regex = '0x\x\%(_\?\x\)*\%(\>\|im\>\|\ze\X\)' let s:bin_regex = '0b[01]\%(_\?[01]\)*\%(\>\|im\>\|\ze[^01]\)' let s:oct_regex = '0o\o\%(_\?\o\)*\%(\>\|im\>\|\ze\O\)' let s:int_regex = '\%(' . s:hex_regex . \ '\|' . s:bin_regex . \ '\|' . s:oct_regex . \ '\|' . s:dec_regex . \ '\)' "floating point regexes " starting with a dot, optional exponent let s:float_regex1 = '\.\d\%(_\?\d\)*\%([eEf][-+]\?\d\+\)\?\%(\>\|im\>\|\ze\D\)' " with dot, optional exponent let s:float_regex2 = '\d\%(_\?\d\)*\.\%(\d\%(_\?\d\)*\)\?\%([eEf][-+]\?\d\+\)\?\%(\>\|im\>\|\ze\D\)' " without dot, with exponent let s:float_regex3 = '\d\%(_\?\d\)*[eEf][-+]\?\d\+\%(\>\|im\>\|\ze\D\)' "hex floating point numbers " starting with a dot let s:hexfloat_regex1 = '0x\.\%\(\x\%(_\?\x\)*\)\?[pP][-+]\?\d\+\%(\>\|im\>\|\ze\X\)' " starting with a digit let s:hexfloat_regex2 = '0x\x\%(_\?\x\)*\%\(\.\%\(\x\%(_\?\x\)*\)\?\)\?[pP][-+]\?\d\+\%(\>\|im\>\|\ze\X\)' let s:float_regex = '\%(' . s:float_regex3 . \ '\|' . s:float_regex2 . \ '\|' . s:float_regex1 . \ '\|' . s:hexfloat_regex2 . \ '\|' . s:hexfloat_regex1 . \ '\)' exec 'syntax match juliaNumber contained "' . s:int_regex . '" contains=juliaComplexUnit' exec 'syntax match juliaFloat contained "' . s:float_regex . '" contains=juliaComplexUnit' syntax match juliaComplexUnit display contained "\<im\>" syntax match juliaRangeOperator display ":" exec 'syntax match juliaOperator "' . s:operators . '"' exec 'syntax region juliaTernaryRegion matchgroup=juliaTernaryOperator start="\s\zs?\ze\s" skip="\%(:\(:\|[^:[:space:]'."'".'"({[]\+\s*\ze:\)\|\%(?\s*\)\@'.s:d(6).'<=:(\)" end=":" contains=@juliaExpressions,juliaErrorSemicol' let s:interp_dollar = '\([' . s:nonidS_chars . s:op_chars_wc . '!]\|^\)\@'.s:d(1).'<=\$' exec 'syntax match juliaDollarVar display contained "' . s:interp_dollar . s:idregex . '"' exec 'syntax region juliaDollarPar matchgroup=juliaDollarVar contained start="' .s:interp_dollar . '(" end=")" contains=@juliaExpressions' exec 'syntax region juliaDollarSqBra matchgroup=juliaDollarVar contained start="' .s:interp_dollar . '\[" end="\]" contains=@juliaExpressions,juliaComprehensionFor,juliaSymbolS,juliaQuotedParBlockS' syntax match juliaChar "'\\\?.'" contains=juliaSpecialChar syntax match juliaChar display "'\\\o\{3\}'" contains=juliaOctalEscapeChar syntax match juliaChar display "'\\x\x\{2\}'" contains=juliaHexEscapeChar syntax match juliaChar display "'\\u\x\{1,4\}'" contains=juliaUniCharSmall syntax match juliaChar display "'\\U\x\{1,8\}'" contains=juliaUniCharLarge exec 'syntax match juliaCTransOperator "[[:space:]}' . s:nonid_chars . s:op_chars_wc . '!]\@'.s:d(1).'<!\.\?' . "'" . 'ᵀ\?"' " TODO: some of these might be specialized; the rest could be just left to the " generic juliaStringPrefixed fallback syntax region juliaString matchgroup=juliaStringDelim start=+\z("\(""\)\?\)+ skip=+\%(\\\\\)*\\"+ end=+\z1+ contains=@juliaStringVars,@juliaSpecialChars,@juliaSpellcheckStrings syntax region juliaStringPrefixed contained matchgroup=juliaStringDelim start=+[^{([:space:]<>"]\+\z("\(""\)\?\)+ skip=+\%(\\\\\)*\\"+ end=+\z1+ contains=@juliaSpecialCharsRaw syntax region juliabString matchgroup=juliaStringDelim start=+\<b\z("\(""\)\?\)+ skip=+\%(\\\\\)*\\"+ end=+\z1+ contains=@juliaSpecialChars syntax region juliasString matchgroup=juliaStringDelim start=+\<s\z("\(""\)\?\)+ skip=+\%(\\\\\)*\\"+ end=+\z1+ contains=@juliaSpecialChars syntax region juliaDocString matchgroup=juliaDocStringDelim fold start=+^"""+ skip=+\%(\\\\\)*\\"+ end=+"""+ contains=@juliaStringVars,@juliaSpecialChars,@juliaSpellcheckDocStrings exec 'syntax region juliaPrintfMacro contained transparent start="@s\?printf(" end=")\@'.s:d(1).'<=" contains=juliaMacro,juliaPrintfParBlock' syntax region juliaPrintfMacro contained transparent start="@s\?printf\s\+" end="\ze\%([])};#]\|$\|\<for\>\)" contains=@juliaExprsPrintf,juliaMacro,juliaSymbolS,juliaQuotedParBlockS syntax region juliaPrintfParBlock contained matchgroup=juliaParDelim start="(" end=")" contains=@juliaExprsPrintf syntax region juliaPrintfString contained matchgroup=juliaStringDelim start=+"+ skip=+\%(\\\\\)*\\"+ end=+"+ contains=@juliaSpecialChars,@juliaPrintfChars exec 'syntax region juliaDocMacroPre contained transparent start=+@doc\s\+\%(' . s:idregex . '\%(\.' . s:idregex . '\)*\)\z("\%(""\)\?\)+ skip=+\%(\\\\\)*\\"+ end=+\(\z1\)\@'.s:d(3).'<=+ contains=juliaMacro,juliaDocStringMRaw' exec 'syntax region juliaDocMacro contained transparent start=+@doc\s\+\z("\%(""\)\?\)+ skip=+\%(\\\\\)*\\"+ end=+\(\z1\)\@'.s:d(3).'<=+ contains=juliaMacro,juliaDocStringM' syntax region juliaDocStringMRaw contained fold matchgroup=juliaDocStringDelim fold start=+\z\("\(""\)\?\)+ skip=+\%(\\\\\)*\\"+ end=+\z1+ contains=@juliaSpellcheckDocStrings syntax region juliaDocStringM contained fold matchgroup=juliaDocStringDelim fold start=+\z\("\(""\)\?\)+ skip=+\%(\\\\\)*\\"+ end=+\z1+ contains=@juliaStringVars,@juliaSpecialChars,@juliaSpellcheckDocStrings syntax region juliaShellString matchgroup=juliaStringDelim start=+`+ skip=+\%(\\\\\)*\\`+ end=+`+ contains=@juliaStringVars,juliaSpecialChar syntax cluster juliaStringVars contains=juliaStringVarsPar,juliaStringVarsSqBra,juliaStringVarsCurBra,juliaStringVarsPla syntax region juliaStringVarsPar contained matchgroup=juliaStringVarDelim start="$(" end=")" contains=@juliaExpressions syntax region juliaStringVarsSqBra contained matchgroup=juliaStringVarDelim start="$\[" end="\]" contains=@juliaExpressions,juliaComprehensionFor,juliaSymbolS,juliaQuotedParBlockS syntax region juliaStringVarsCurBra contained matchgroup=juliaStringVarDelim start="${" end="}" contains=@juliaExpressions exec 'syntax match juliaStringVarsPla contained "\$' . s:idregex . '"' " TODO improve RegEx syntax region juliaRegEx matchgroup=juliaStringDelim start=+\<r\z("\(""\)\?\)+ skip=+\%(\\\\\)*\\"+ end=+\z1[imsx]*+ syntax cluster juliaSpecialChars contains=juliaSpecialChar,juliaDoubleBackslash,juliaEscapedQuote,juliaOctalEscapeChar,juliaHexEscapeChar,juliaUniCharSmall,juliaUniCharLarge syntax match juliaSpecialChar display contained "\\." syntax match juliaOctalEscapeChar display contained "\\\o\{3\}" syntax match juliaHexEscapeChar display contained "\\x\x\{2\}" syntax match juliaUniCharSmall display contained "\\u\x\{1,4\}" syntax match juliaUniCharLarge display contained "\\U\x\{1,8\}" syntax cluster juliaSpecialCharsRaw contains=juliaDoubleBackslash,juliaEscapedQuote syntax match juliaDoubleBackslash contained "\\\\" syntax match juliaEscapedQuote contained "\\\"" syntax cluster juliaPrintfChars contains=juliaErrorPrintfFmt,juliaPrintfFmt syntax match juliaErrorPrintfFmt display contained "\\\?%." syntax match juliaPrintfFmt display contained "%\%(\d\+\$\)\=[-+' #0]*\%(\d*\|\*\|\*\d\+\$\)\%(\.\%(\d*\|\*\|\*\d\+\$\)\)\=\%([hlLjqzt]\|ll\|hh\)\=[aAbdiuoxXDOUfFeEgGcCsSpn]" syntax match juliaPrintfFmt display contained "%%" syntax match juliaPrintfFmt display contained "\\%\%(\d\+\$\)\=[-+' #0]*\%(\d*\|\*\|\*\d\+\$\)\%(\.\%(\d*\|\*\|\*\d\+\$\)\)\=\%([hlLjqzt]\|ll\|hh\)\=[aAbdiuoxXDOUfFeEgGcCsSpn]"hs=s+1 syntax match juliaPrintfFmt display contained "\\%%"hs=s+1 " this is used to restrict the search for Symbols to when colons appear at all " (for performance reasons) syntax match juliaPossibleSymbol transparent ":\ze[^:]" contains=juliaSymbol,juliaQuotedParBlock,juliaQuotedQMarkPar,juliaColon let s:quotable = '\%(' . s:idregex . '\|' . s:operators . '\|[?.]\|' . s:float_regex . '\|' . s:int_regex . '\)' let s:quoting_colon = '\%(\%(^\s*\|\s\{6,\}\|[' . s:nonid_chars . s:op_chars_wc . ']\s*\)\@'.s:d(6).'<=\|\%(\<\%(return\|if\|else\%(if\)\?\|while\|try\|begin\)\s\+\)\@'.s:d(9).'<=\)\zs:' let s:quoting_colonS = '\s\@'.s:d(1).'<=:' " note: juliaSymbolS only works within whitespace-sensitive contexts, " such as in macro calls without parentheses, or within square brackets. " It is used to override the recognition of expressions like `a :b` as " ranges rather than symbols in those contexts. " (Note that such `a :b` expressions only allows at most 5 spaces between " the identifier and the colon anyway.) exec 'syntax match juliaSymbol contained "' . s:quoting_colon . s:quotable . '"' exec 'syntax match juliaSymbolS contained "' . s:quoting_colonS . s:quotable . '"' " same as above for quoted expressions such as :(expr) exec 'syntax region juliaQuotedParBlock matchgroup=juliaQParDelim start="' . s:quoting_colon . '(" end=")" contains=@juliaExpressions' exec 'syntax match juliaQuotedQMarkPar "' . s:quoting_colon . '(\s*?\s*)" contains=juliaQuotedQMark' exec 'syntax region juliaQuotedParBlockS matchgroup=juliaQParDelim contained start="' . s:quoting_colonS . '(" end=")" contains=@juliaExpressions' syntax match juliaTypeOperatorR1 contained "[^{([:space:]<>\"]\+\%(\s*[<>]:\)\@=" " force precedence over Symbols syntax match juliaTypeOperator contained "[<>:]:" exec 'syntax match juliaTypeOperatorR2 transparent "[<>:]:\s*\%(' . s:idregex . '\.\)*' . s:idregex . '" contains=juliaTypeOperator,juliaType,juliaDottedT,@juliaExpressions nextgroup=juliaTypeOperator' syntax match juliaIsaKeyword contained "\<isa\>" exec 'syntax match juliaTypeOperatorR3 transparent "\<isa\s\+\%(' . s:idregex . '\.\)*' . s:idregex . '" contains=juliaIsaKeyword,juliaType,juliaDottedT,@juliaExpressions nextgroup=juliaIsaKeyword' syntax match juliaWhereKeyword "\<where\>" exec 'syntax match juliaWhereR transparent "\<where\s\+' . s:idregex . '" contains=juliaWhereKeyword,juliaType,juliaDottedT,juliaIdSymbol' syntax region juliaCommentL matchgroup=juliaCommentDelim excludenl start="#\ze\%([^=]\|$\)" end="$" contains=juliaTodo,@juliaSpellcheckComments syntax region juliaCommentM matchgroup=juliaCommentDelim fold start="#=\ze\%([^#]\|$\)" end="=#" contains=juliaTodo,juliaCommentM,@juliaSpellcheckComments syntax keyword juliaTodo contained TODO FIXME XXX " detect an end-of-line with only whitespace or comments before it let s:eol = '\s*\%(\%(\%(#=\%(=#\@!\|[^=]\|\n\)\{-}=#\)\s*\)\+\)\?\%(#=\@!.*\)\?\n' " a trailing comma, or colon, or an empty line in an import/using/export " multi-line command. Used to recognize the as keyword, and for indentation " (this needs to take precedence over normal commas and colons, and comments) syntax cluster juliaContinuationItems contains=juliaContinuationComma,juliaContinuationColon,juliaContinuationNone exec 'syntax region juliaContinuationComma matchgroup=juliaComma contained start=",\ze'.s:eol.'" end="\n\+\ze." contains=@juliaCommentItems' exec 'syntax region juliaContinuationColon matchgroup=juliaColon contained start=":\ze'.s:eol.'" end="\n\+\ze." contains=@juliaCommentItems' exec 'syntax region juliaContinuationNone matchgroup=NONE contained start="\%(\<\%(import\|using\|export\)\>\|^\)\@'.s:d(6).'<=\ze'.s:eol.'" end="\n\+\ze." contains=@juliaCommentItems,juliaAsKeyword' exec 'syntax match juliaMacroName contained "@' . s:idregex . '\%(\.' . s:idregex . '\)*"' " the following are disabled by default, but " can be enabled by entering e.g. " :hi link juliaParDelim Delimiter hi def link juliaParDelim juliaNone hi def link juliaSemicolon juliaNone hi def link juliaComma juliaNone hi def link juliaFunctionCall juliaNone hi def link juliaColon juliaOperator hi def link juliaFunctionName juliaFunction hi def link juliaFunctionName1 juliaFunction hi def link juliaMacroName juliaMacro hi def link juliaKeyword Keyword hi def link juliaWhereKeyword Keyword hi def link juliaInfixKeyword Keyword hi def link juliaIsaKeyword Keyword hi def link juliaAsKeyword Keyword hi def link juliaRepKeyword Keyword hi def link juliaBlKeyword Keyword hi def link juliaConditional Conditional hi def link juliaRepeat Repeat hi def link juliaException Exception hi def link juliaOuter Keyword hi def link juliaBaseTypeBasic Type hi def link juliaBaseTypeNum Type hi def link juliaBaseTypeC Type hi def link juliaBaseTypeError Type hi def link juliaBaseTypeIter Type hi def link juliaBaseTypeString Type hi def link juliaBaseTypeArray Type hi def link juliaBaseTypeDict Type hi def link juliaBaseTypeSet Type hi def link juliaBaseTypeIO Type hi def link juliaBaseTypeProcess Type hi def link juliaBaseTypeRange Type hi def link juliaBaseTypeRegex Type hi def link juliaBaseTypeFact Type hi def link juliaBaseTypeSort Type hi def link juliaBaseTypeRound Type hi def link juliaBaseTypeSpecial Type hi def link juliaBaseTypeRandom Type hi def link juliaBaseTypeDisplay Type hi def link juliaBaseTypeTime Type hi def link juliaBaseTypeOther Type hi def link juliaType Type hi def link juliaParamType Type hi def link juliaTypeOperatorR1 Type " NOTE: deprecated constants are not highlighted as such. For once, " one can still legitimately use them by importing Base.MathConstants. " Plus, one-letter variables like `e` and `γ` can be used with other " meanings. hi def link juliaConstNum Constant hi def link juliaEuler Constant hi def link juliaConstEnv Constant hi def link juliaConstC Constant hi def link juliaConstLimits Constant hi def link juliaConstGeneric Constant hi def link juliaRangeKeyword Constant hi def link juliaConstBool Boolean hi def link juliaConstIO Boolean hi def link juliaComprehensionFor Keyword hi def link juliaComprehensionIf Keyword hi def link juliaDollarVar Identifier hi def link juliaFunction Function hi def link juliaMacro Macro hi def link juliaSymbol Identifier hi def link juliaSymbolS Identifier hi def link juliaQParDelim Identifier hi def link juliaQuotedQMarkPar Identifier hi def link juliaQuotedQMark juliaOperatorHL hi def link juliaNumber Number hi def link juliaFloat Float hi def link juliaComplexUnit Constant hi def link juliaChar Character hi def link juliaString String hi def link juliaStringPrefixed juliaString hi def link juliabString juliaString hi def link juliasString juliaString hi def link juliavString juliaString hi def link juliarString juliaString hi def link juliaipString juliaString hi def link juliabigString juliaString hi def link juliaMIMEString juliaString hi def link juliarawString juliaString hi def link juliatestString juliaString hi def link juliahtmlString juliaString hi def link juliaint128String juliaString hi def link juliaPrintfString juliaString hi def link juliaShellString juliaString hi def link juliaDocString juliaString hi def link juliaDocStringM juliaDocString hi def link juliaDocStringMRaw juliaDocString hi def link juliaStringDelim juliaString hi def link juliaDocStringDelim juliaDocString hi def link juliaStringVarsPla Identifier hi def link juliaStringVarDelim Identifier hi def link juliaRegEx String hi def link juliaSpecialChar SpecialChar hi def link juliaOctalEscapeChar SpecialChar hi def link juliaHexEscapeChar SpecialChar hi def link juliaUniCharSmall SpecialChar hi def link juliaUniCharLarge SpecialChar hi def link juliaDoubleBackslash SpecialChar hi def link juliaEscapedQuote SpecialChar hi def link juliaPrintfFmt SpecialChar if s:julia_highlight_operators hi! def link juliaOperatorHL Operator else hi! def link juliaOperatorHL juliaNone endif hi def link juliaOperator juliaOperatorHL hi def link juliaRangeOperator juliaOperatorHL hi def link juliaCTransOperator juliaOperatorHL hi def link juliaTernaryOperator juliaOperatorHL hi def link juliaTypeOperator juliaOperatorHL hi def link juliaCommentL Comment hi def link juliaCommentM Comment hi def link juliaCommentDelim Comment hi def link juliaTodo Todo hi def link juliaErrorPar juliaError hi def link juliaErrorEnd juliaError hi def link juliaErrorElse juliaError hi def link juliaErrorCatch juliaError hi def link juliaErrorFinally juliaError hi def link juliaErrorSemicol juliaError hi def link juliaErrorPrintfFmt juliaError hi def link juliaError Error syntax sync fromstart let b:current_syntax = "julia" let &cpo = s:cpo_save unlet s:cpo_save
Close