Linux web-conference.aiou.edu.pk 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64
Apache/2.4.41 (Ubuntu)
: 172.16.50.247 | : 3.135.182.115
Cant Read [ /etc/named.conf ]
7.4.3-4ubuntu2.28
appadmin
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
usr /
share /
vim /
vim81 /
syntax /
[ HOME SHELL ]
Name
Size
Permission
Action
2html.vim
69.8
KB
-rw-r--r--
8th.vim
28.02
KB
-rw-r--r--
README.txt
1.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.74
KB
-rw-r--r--
aflex.vim
4.27
KB
-rw-r--r--
ahdl.vim
2.71
KB
-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
14.83
KB
-rw-r--r--
apachestyle.vim
1.38
KB
-rw-r--r--
aptconf.vim
21.71
KB
-rw-r--r--
arch.vim
1.12
KB
-rw-r--r--
arduino.vim
1.98
KB
-rw-r--r--
art.vim
1.27
KB
-rw-r--r--
asciidoc.vim
10.74
KB
-rw-r--r--
asm.vim
4.24
KB
-rw-r--r--
asm68k.vim
13.95
KB
-rw-r--r--
asmh8300.vim
1.95
KB
-rw-r--r--
asn.vim
2.52
KB
-rw-r--r--
aspperl.vim
811
B
-rw-r--r--
aspvbs.vim
8.89
KB
-rw-r--r--
asterisk.vim
5.39
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.89
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
7.66
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
7.94
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--
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
26.8
KB
-rw-r--r--
cabal.vim
6.65
KB
-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
2.56
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
40.95
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
799
B
-rw-r--r--
config.vim
2.03
KB
-rw-r--r--
context.vim
6.05
KB
-rw-r--r--
cpp.vim
2.8
KB
-rw-r--r--
crm.vim
1.17
KB
-rw-r--r--
crontab.vim
2.16
KB
-rw-r--r--
cs.vim
10.08
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
31.78
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
929
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.32
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--
desc.vim
3
KB
-rw-r--r--
desktop.vim
4.05
KB
-rw-r--r--
dictconf.vim
3.04
KB
-rw-r--r--
dictdconf.vim
6.31
KB
-rw-r--r--
diff.vim
16.88
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.84
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
715
B
-rw-r--r--
dosbatch.vim
6.11
KB
-rw-r--r--
dosini.vim
1.24
KB
-rw-r--r--
dot.vim
2.95
KB
-rw-r--r--
doxygen.vim
37.74
KB
-rw-r--r--
dracula.vim
2.61
KB
-rw-r--r--
dsl.vim
1.28
KB
-rw-r--r--
dtd.vim
4.89
KB
-rw-r--r--
dtml.vim
16.22
KB
-rw-r--r--
dtrace.vim
6.29
KB
-rw-r--r--
dts.vim
1.18
KB
-rw-r--r--
dune.vim
1.88
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--
elmfilt.vim
2.82
KB
-rw-r--r--
erlang.vim
10.66
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
31.8
KB
-rw-r--r--
foxpro.vim
32.09
KB
-rw-r--r--
framescript.vim
11.41
KB
-rw-r--r--
freebasic.vim
10.58
KB
-rw-r--r--
fstab.vim
15.49
KB
-rw-r--r--
fvwm.vim
24.44
KB
-rw-r--r--
fvwm2m4.vim
711
B
-rw-r--r--
gdb.vim
4.26
KB
-rw-r--r--
gdmo.vim
3.22
KB
-rw-r--r--
gedcom.vim
2.22
KB
-rw-r--r--
git.vim
4.06
KB
-rw-r--r--
gitcommit.vim
4.75
KB
-rw-r--r--
gitconfig.vim
1.59
KB
-rw-r--r--
gitolite.vim
4.35
KB
-rw-r--r--
gitrebase.vim
1.81
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.11
KB
-rw-r--r--
go.vim
7.72
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.07
KB
-rw-r--r--
grads.vim
1.7
KB
-rw-r--r--
gretl.vim
3.64
KB
-rw-r--r--
groff.vim
292
B
-rw-r--r--
groovy.vim
21.77
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--
haml.vim
6.9
KB
-rw-r--r--
hamster.vim
13.52
KB
-rw-r--r--
haskell.vim
8.7
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.15
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
43.41
KB
-rw-r--r--
hostconf.vim
3.78
KB
-rw-r--r--
hostsaccess.vim
549
B
-rw-r--r--
html.vim
18.45
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--
ia64.vim
10.3
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
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.56
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.16
KB
-rw-r--r--
jal.vim
8.75
KB
-rw-r--r--
jam.vim
26.08
KB
-rw-r--r--
jargon.vim
638
B
-rw-r--r--
java.vim
18.15
KB
-rw-r--r--
javacc.vim
2.2
KB
-rw-r--r--
javascript.vim
5.48
KB
-rw-r--r--
javascriptreact.vim
109
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--
jsp.vim
2.62
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.13
KB
-rw-r--r--
lex.vim
6.57
KB
-rw-r--r--
lftp.vim
7.3
KB
-rw-r--r--
lhaskell.vim
4.33
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.05
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--
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.13
KB
-rw-r--r--
mallard.vim
1.69
KB
-rw-r--r--
man.vim
1.55
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
7.86
KB
-rw-r--r--
masm.vim
16.82
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
4.02
KB
-rw-r--r--
messages.vim
2.59
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
1.96
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.67
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
77.37
KB
-rw-r--r--
netrc.vim
1.89
KB
-rw-r--r--
netrw.vim
7.05
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.59
KB
-rw-r--r--
nsis.vim
33.26
KB
-rw-r--r--
obj.vim
2.72
KB
-rw-r--r--
objc.vim
40.74
KB
-rw-r--r--
objcpp.vim
600
B
-rw-r--r--
ocaml.vim
15.92
KB
-rw-r--r--
occam.vim
4.21
KB
-rw-r--r--
omnimark.vim
6.23
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.42
KB
-rw-r--r--
papp.vim
3.7
KB
-rw-r--r--
pascal.vim
14.66
KB
-rw-r--r--
passwd.vim
2.39
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--
perl6.vim
72.39
KB
-rw-r--r--
pf.vim
10.13
KB
-rw-r--r--
pfmain.vim
90.56
KB
-rw-r--r--
php.vim
78.56
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--
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.32
KB
-rw-r--r--
promela.vim
1.69
KB
-rw-r--r--
proto.vim
2.86
KB
-rw-r--r--
protocols.vim
1.4
KB
-rw-r--r--
psf.vim
4.19
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
13.95
KB
-rw-r--r--
qf.vim
596
B
-rw-r--r--
quake.vim
8.35
KB
-rw-r--r--
r.vim
14.38
KB
-rw-r--r--
racc.vim
5.49
KB
-rw-r--r--
radiance.vim
6.99
KB
-rw-r--r--
raml.vim
4.35
KB
-rw-r--r--
ratpoison.vim
16.82
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--
remind.vim
2.65
KB
-rw-r--r--
resolv.vim
2.95
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
5.26
KB
-rw-r--r--
rnc.vim
2.21
KB
-rw-r--r--
rng.vim
817
B
-rw-r--r--
rnoweb.vim
1.86
KB
-rw-r--r--
robots.vim
1.49
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.1
KB
-rw-r--r--
rtf.vim
2.28
KB
-rw-r--r--
ruby.vim
40.38
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.17
KB
-rw-r--r--
sather.vim
3.41
KB
-rw-r--r--
sbt.vim
880
B
-rw-r--r--
scala.vim
11.04
KB
-rw-r--r--
scheme.vim
18.88
KB
-rw-r--r--
scilab.vim
3.13
KB
-rw-r--r--
screen.vim
8.89
KB
-rw-r--r--
scss.vim
409
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--
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
41.79
KB
-rw-r--r--
sicad.vim
18.04
KB
-rw-r--r--
sieve.vim
1.63
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.11
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.31
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--
srec.vim
3.73
KB
-rw-r--r--
sshconfig.vim
10.42
KB
-rw-r--r--
sshdconfig.vim
11.61
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--
sudoers.vim
23.88
KB
-rw-r--r--
svg.vim
436
B
-rw-r--r--
svn.vim
1.81
KB
-rw-r--r--
syncolor.vim
4
KB
-rw-r--r--
synload.vim
1.94
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.88
KB
-rw-r--r--
tcsh.vim
12.96
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
62.09
KB
-rw-r--r--
texinfo.vim
24.97
KB
-rw-r--r--
texmf.vim
2.23
KB
-rw-r--r--
tf.vim
6.74
KB
-rw-r--r--
tidy.vim
5.79
KB
-rw-r--r--
tilde.vim
1.5
KB
-rw-r--r--
tli.vim
1.62
KB
-rw-r--r--
tmux.vim
5.7
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
129.55
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
19.82
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.48
KB
-rw-r--r--
vim.vim
70.6
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
8.69
KB
-rw-r--r--
xmodmap.vim
45.42
KB
-rw-r--r--
xpm.vim
4.3
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.12
KB
-rw-r--r--
xxd.vim
766
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
23.28
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : tex.vim
" Vim syntax file " Language: TeX " Maintainer: Charles E. Campbell <NdrchipO@ScampbellPfamily.AbizM> " Last Change: May 14, 2019 " Version: 114 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX " " Notes: {{{1 " " 1. If you have a \begin{verbatim} that appears to overrun its boundaries, " use %stopzone. " " 2. Run-on equations ($..$ and $$..$$, particularly) can also be stopped " by suitable use of %stopzone. " " 3. If you have a slow computer, you may wish to modify " " syn sync maxlines=200 " syn sync minlines=50 " " to values that are more to your liking. " " 4. There is no match-syncing for $...$ and $$...$$; hence large " equation blocks constructed that way may exhibit syncing problems. " (there's no difference between begin/end patterns) " " 5. If you have the variable "g:tex_no_error" defined then none of the " lexical error-checking will be done. " " ie. let g:tex_no_error=1 " " 6. Please see :help latex-syntax for information on " syntax folding :help tex-folding " spell checking :help tex-nospell " commands and mathzones :help tex-runon " new command highlighting :help tex-morecommands " error highlighting :help tex-error " new math groups :help tex-math " new styles :help tex-style " using conceal mode :help tex-conceal " Version Clears: {{{1 " quit when a syntax file was already loaded if exists("b:current_syntax") finish endif let s:keepcpo= &cpo set cpo&vim scriptencoding utf-8 " by default, enable all region-based highlighting let s:tex_fast= "bcmMprsSvV" if exists("g:tex_fast") if type(g:tex_fast) != 1 " g:tex_fast exists and is not a string, so " turn off all optional region-based highighting let s:tex_fast= "" else let s:tex_fast= g:tex_fast endif endif " let user determine which classes of concealment will be supported " a=accents/ligatures d=delimiters m=math symbols g=Greek s=superscripts/subscripts if !exists("g:tex_conceal") let s:tex_conceal= 'abdmgsS' else let s:tex_conceal= g:tex_conceal endif if !exists("g:tex_superscripts") let s:tex_superscripts= '[0-9a-zA-W.,:;+-<>/()=]' else let s:tex_superscripts= g:tex_superscripts endif if !exists("g:tex_subscripts") let s:tex_subscripts= '[0-9aehijklmnoprstuvx,+-/().]' else let s:tex_subscripts= g:tex_subscripts endif " Determine whether or not to use "*.sty" mode {{{1 " The user may override the normal determination by setting " g:tex_stylish to 1 (for "*.sty" mode) " or to 0 else (normal "*.tex" mode) " or on a buffer-by-buffer basis with b:tex_stylish let s:extfname=expand("%:e") if exists("g:tex_stylish") let b:tex_stylish= g:tex_stylish elseif !exists("b:tex_stylish") if s:extfname == "sty" || s:extfname == "cls" || s:extfname == "clo" || s:extfname == "dtx" || s:extfname == "ltx" let b:tex_stylish= 1 else let b:tex_stylish= 0 endif endif " handle folding {{{1 if !exists("g:tex_fold_enabled") let s:tex_fold_enabled= 0 elseif g:tex_fold_enabled && !has("folding") let s:tex_fold_enabled= 0 echomsg "Ignoring g:tex_fold_enabled=".g:tex_fold_enabled."; need to re-compile vim for +fold support" else let s:tex_fold_enabled= 1 endif if s:tex_fold_enabled && &fdm == "manual" setl fdm=syntax endif if s:tex_fold_enabled && has("folding") com! -nargs=* TexFold <args> fold else com! -nargs=* TexFold <args> endif " (La)TeX keywords: uses the characters 0-9,a-z,A-Z,192-255 only... {{{1 " but _ is the only one that causes problems. " One may override this iskeyword setting by providing " g:tex_isk if exists("g:tex_isk") if b:tex_stylish && g:tex_isk !~ '@' let b:tex_isk= '@,'.g:tex_isk else let b:tex_isk= g:tex_isk endif elseif b:tex_stylish let b:tex_isk="@,48-57,a-z,A-Z,192-255" else let b:tex_isk="48-57,a-z,A-Z,192-255" endif if (v:version == 704 && has("patch-7.4.1142")) || v:version > 704 exe "syn iskeyword ".b:tex_isk else exe "setl isk=".b:tex_isk endif if exists("g:tex_no_error") && g:tex_no_error let s:tex_no_error= 1 else let s:tex_no_error= 0 endif if exists("g:tex_comment_nospell") && g:tex_comment_nospell let s:tex_comment_nospell= 1 else let s:tex_comment_nospell= 0 endif if exists("g:tex_nospell") && g:tex_nospell let s:tex_nospell = 1 else let s:tex_nospell = 0 endif " Clusters: {{{1 " -------- syn cluster texCmdGroup contains=texCmdBody,texComment,texDefParm,texDelimiter,texDocType,texInput,texLength,texLigature,texMathDelim,texMathOper,texNewCmd,texNewEnv,texRefZone,texSection,texBeginEnd,texBeginEndName,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,@texMathZones if !s:tex_no_error syn cluster texCmdGroup add=texMathError endif syn cluster texEnvGroup contains=texMatcher,texMathDelim,texSpecialChar,texStatement syn cluster texFoldGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texBeginEnd,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract,texBoldStyle,texItalStyle,texEmphStyle,texNoSpell syn cluster texBoldGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texBeginEnd,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract,texBoldStyle,texBoldItalStyle,texNoSpell syn cluster texItalGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texBeginEnd,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract,texItalStyle,texEmphStyle,texItalBoldStyle,texNoSpell if !s:tex_nospell syn cluster texMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texBoldStyle,texBoldItalStyle,texItalStyle,texItalBoldStyle,texZone,texInputFile,texOption,@Spell syn cluster texMatchNMGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcherNM,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texBoldStyle,texBoldItalStyle,texItalStyle,texItalBoldStyle,texZone,texInputFile,texOption,@Spell syn cluster texStyleGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texBoldStyle,texBoldItalStyle,texItalStyle,texItalBoldStyle,texZone,texInputFile,texOption,texStyleStatement,texStyleMatcher,@Spell else syn cluster texMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption syn cluster texMatchNMGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcherNM,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption syn cluster texStyleGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texStyleStatement,texStyleMatcher endif syn cluster texPreambleMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcherNM,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTitle,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texMathZoneZ syn cluster texRefGroup contains=texMatcher,texComment,texDelimiter if !exists("g:tex_no_math") syn cluster texPreambleMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcherNM,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTitle,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texMathZoneZ syn cluster texMathZones contains=texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ syn cluster texMatchGroup add=@texMathZones syn cluster texMathDelimGroup contains=texMathDelimBad,texMathDelimKey,texMathDelimSet1,texMathDelimSet2 syn cluster texMathMatchGroup contains=@texMathZones,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMathDelim,texMathMatcher,texMathOper,texNewCmd,texNewEnv,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone syn cluster texMathZoneGroup contains=texComment,texDelimiter,texLength,texMathDelim,texMathMatcher,texMathOper,texMathSymbol,texMathText,texRefZone,texSpecialChar,texStatement,texTypeSize,texTypeStyle if !s:tex_no_error syn cluster texMathMatchGroup add=texMathError syn cluster texMathZoneGroup add=texMathError endif syn cluster texMathZoneGroup add=@NoSpell " following used in the \part \chapter \section \subsection \subsubsection " \paragraph \subparagraph \author \title highlighting syn cluster texDocGroup contains=texPartZone,@texPartGroup syn cluster texPartGroup contains=texChapterZone,texSectionZone,texParaZone syn cluster texChapterGroup contains=texSectionZone,texParaZone syn cluster texSectionGroup contains=texSubSectionZone,texParaZone syn cluster texSubSectionGroup contains=texSubSubSectionZone,texParaZone syn cluster texSubSubSectionGroup contains=texParaZone syn cluster texParaGroup contains=texSubParaZone if has("conceal") && &enc == 'utf-8' syn cluster texMathZoneGroup add=texGreek,texSuperscript,texSubscript,texMathSymbol syn cluster texMathMatchGroup add=texGreek,texSuperscript,texSubscript,texMathSymbol endif endif " Try to flag {} and () mismatches: {{{1 if s:tex_fast =~# 'm' if !s:tex_no_error syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchGroup,texError syn region texMatcher matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchGroup,texError,@NoSpell syn region texMatcherNM matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchNMGroup,texError syn region texMatcherNM matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchNMGroup,texError,@NoSpell else syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchGroup syn region texMatcher matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchGroup syn region texMatcherNM matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchNMGroup syn region texMatcherNM matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchNMGroup endif if !s:tex_nospell syn region texParen start="(" end=")" transparent contains=@texMatchGroup,@Spell else syn region texParen start="(" end=")" transparent contains=@texMatchGroup endif endif if !s:tex_no_error syn match texError "[}\])]" endif if s:tex_fast =~# 'M' if !exists("g:tex_no_math") if !s:tex_no_error syn match texMathError "}" contained endif syn region texMathMatcher matchgroup=Delimiter start="{" skip="\%(\\\\\)*\\}" end="}" end="%stopzone\>" contained contains=@texMathMatchGroup endif endif " TeX/LaTeX keywords: {{{1 " Instead of trying to be All Knowing, I just match \..alphameric.. " Note that *.tex files may not have "@" in their \commands if exists("g:tex_tex") || b:tex_stylish syn match texStatement "\\[a-zA-Z@]\+" else syn match texStatement "\\\a\+" if !s:tex_no_error syn match texError "\\\a*@[a-zA-Z@]*" endif endif " TeX/LaTeX delimiters: {{{1 syn match texDelimiter "&" syn match texDelimiter "\\\\" " Tex/Latex Options: {{{1 syn match texOption "[^\\]\zs#\d\+\|^#\d\+" " texAccent (tnx to Karim Belabas) avoids annoying highlighting for accents: {{{1 if b:tex_stylish syn match texAccent "\\[bcdvuH][^a-zA-Z@]"me=e-1 syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)[^a-zA-Z@]"me=e-1 else syn match texAccent "\\[bcdvuH]\A"me=e-1 syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)\A"me=e-1 endif syn match texAccent "\\[bcdvuH]$" syn match texAccent +\\[=^.\~"`']+ syn match texAccent +\\['=t'.c^ud"vb~Hr]{\a}+ syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)$" " \begin{}/\end{} section markers: {{{1 syn match texBeginEnd "\\begin\>\|\\end\>" nextgroup=texBeginEndName if s:tex_fast =~# 'm' syn region texBeginEndName matchgroup=Delimiter start="{" end="}" contained nextgroup=texBeginEndModifier contains=texComment syn region texBeginEndModifier matchgroup=Delimiter start="\[" end="]" contained contains=texComment,@texMathZones,@NoSpell endif " \documentclass, \documentstyle, \usepackage: {{{1 syn match texDocType "\\documentclass\>\|\\documentstyle\>\|\\usepackage\>" nextgroup=texBeginEndName,texDocTypeArgs if s:tex_fast =~# 'm' syn region texDocTypeArgs matchgroup=Delimiter start="\[" end="]" contained nextgroup=texBeginEndName contains=texComment,@NoSpell endif " Preamble syntax-based folding support: {{{1 if s:tex_fold_enabled && has("folding") syn region texPreamble transparent fold start='\zs\\documentclass\>' end='\ze\\begin{document}' contains=texStyle,@texPreambleMatchGroup endif " TeX input: {{{1 syn match texInput "\\input\s\+[a-zA-Z/.0-9_^]\+"hs=s+7 contains=texStatement syn match texInputFile "\\include\(graphics\|list\)\=\(\[.\{-}\]\)\=\s*{.\{-}}" contains=texStatement,texInputCurlies,texInputFileOpt syn match texInputFile "\\\(epsfig\|input\|usepackage\)\s*\(\[.*\]\)\={.\{-}}" contains=texStatement,texInputCurlies,texInputFileOpt syn match texInputCurlies "[{}]" contained if s:tex_fast =~# 'm' syn region texInputFileOpt matchgroup=Delimiter start="\[" end="\]" contained contains=texComment endif " Type Styles (LaTeX 2.09): {{{1 syn match texTypeStyle "\\rm\>" syn match texTypeStyle "\\em\>" syn match texTypeStyle "\\bf\>" syn match texTypeStyle "\\it\>" syn match texTypeStyle "\\sl\>" syn match texTypeStyle "\\sf\>" syn match texTypeStyle "\\sc\>" syn match texTypeStyle "\\tt\>" " Type Styles: attributes, commands, families, etc (LaTeX2E): {{{1 if s:tex_conceal !~# 'b' syn match texTypeStyle "\\textbf\>" syn match texTypeStyle "\\textit\>" syn match texTypeStyle "\\emph\>" endif syn match texTypeStyle "\\textmd\>" syn match texTypeStyle "\\textrm\>" syn match texTypeStyle "\\textsc\>" syn match texTypeStyle "\\textsf\>" syn match texTypeStyle "\\textsl\>" syn match texTypeStyle "\\texttt\>" syn match texTypeStyle "\\textup\>" syn match texTypeStyle "\\mathbb\>" syn match texTypeStyle "\\mathbf\>" syn match texTypeStyle "\\mathcal\>" syn match texTypeStyle "\\mathfrak\>" syn match texTypeStyle "\\mathit\>" syn match texTypeStyle "\\mathnormal\>" syn match texTypeStyle "\\mathrm\>" syn match texTypeStyle "\\mathsf\>" syn match texTypeStyle "\\mathtt\>" syn match texTypeStyle "\\rmfamily\>" syn match texTypeStyle "\\sffamily\>" syn match texTypeStyle "\\ttfamily\>" syn match texTypeStyle "\\itshape\>" syn match texTypeStyle "\\scshape\>" syn match texTypeStyle "\\slshape\>" syn match texTypeStyle "\\upshape\>" syn match texTypeStyle "\\bfseries\>" syn match texTypeStyle "\\mdseries\>" " Some type sizes: {{{1 syn match texTypeSize "\\tiny\>" syn match texTypeSize "\\scriptsize\>" syn match texTypeSize "\\footnotesize\>" syn match texTypeSize "\\small\>" syn match texTypeSize "\\normalsize\>" syn match texTypeSize "\\large\>" syn match texTypeSize "\\Large\>" syn match texTypeSize "\\LARGE\>" syn match texTypeSize "\\huge\>" syn match texTypeSize "\\Huge\>" " Spacecodes (TeX'isms): {{{1 " \mathcode`\^^@="2201 \delcode`\(="028300 \sfcode`\)=0 \uccode`X=`X \lccode`x=`x syn match texSpaceCode "\\\(math\|cat\|del\|lc\|sf\|uc\)code`"me=e-1 nextgroup=texSpaceCodeChar syn match texSpaceCodeChar "`\\\=.\(\^.\)\==\(\d\|\"\x\{1,6}\|`.\)" contained " Sections, subsections, etc: {{{1 if s:tex_fast =~# 'p' if !s:tex_nospell TexFold syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' contains=@texFoldGroup,@texDocGroup,@Spell TexFold syn region texPartZone matchgroup=texSection start='\\part\>' end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texPartGroup,@Spell TexFold syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texChapterGroup,@Spell TexFold syn region texSectionZone matchgroup=texSection start='\\section\>' end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSectionGroup,@Spell TexFold syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSectionGroup,@Spell TexFold syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSubSectionGroup,@Spell TexFold syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texParaGroup,@Spell TexFold syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@Spell TexFold syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' contains=@texFoldGroup,@Spell TexFold syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' contains=@texFoldGroup,@Spell else TexFold syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' contains=@texFoldGroup,@texDocGroup TexFold syn region texPartZone matchgroup=texSection start='\\part\>' end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texPartGroup TexFold syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texChapterGroup TexFold syn region texSectionZone matchgroup=texSection start='\\section\>' end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSectionGroup TexFold syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSectionGroup TexFold syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSubSectionGroup TexFold syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texParaGroup TexFold syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup TexFold syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' contains=@texFoldGroup TexFold syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' contains=@texFoldGroup endif endif " particular support for bold and italic {{{1 if s:tex_fast =~# 'b' if s:tex_conceal =~# 'b' if !exists("g:tex_nospell") || !g:tex_nospell syn region texBoldStyle matchgroup=texTypeStyle start="\\textbf\s*{" matchgroup=texTypeStyle end="}" concealends contains=@texBoldGroup,@Spell syn region texBoldItalStyle matchgroup=texTypeStyle start="\\textit\s*{" matchgroup=texTypeStyle end="}" concealends contains=@texItalGroup,@Spell syn region texItalStyle matchgroup=texTypeStyle start="\\textit\s*{" matchgroup=texTypeStyle end="}" concealends contains=@texItalGroup,@Spell syn region texItalBoldStyle matchgroup=texTypeStyle start="\\textbf\s*{" matchgroup=texTypeStyle end="}" concealends contains=@texBoldGroup,@Spell syn region texEmphStyle matchgroup=texTypeStyle start="\\emph\s*{" matchgroup=texTypeStyle end="}" concealends contains=@texItalGroup,@Spell else syn region texBoldStyle matchgroup=texTypeStyle start="\\textbf\s*{" matchgroup=texTypeStyle end="}" concealends contains=@texBoldGroup syn region texBoldItalStyle matchgroup=texTypeStyle start="\\textit\s*{" matchgroup=texTypeStyle end="}" concealends contains=@texItalGroup syn region texItalStyle matchgroup=texTypeStyle start="\\textit\s*{" matchgroup=texTypeStyle end="}" concealends contains=@texItalGroup syn region texItalBoldStyle matchgroup=texTypeStyle start="\\textbf\s*{" matchgroup=texTypeStyle end="}" concealends contains=@texBoldGroup syn region texEmphStyle matchgroup=texTypeStyle start="\\emph\s*{" matchgroup=texTypeStyle end="}" concealends contains=@texItalGroup endif endif endif " Bad Math (mismatched): {{{1 if !exists("g:tex_no_math") && !s:tex_no_error syn match texBadMath "\\end\s*{\s*\(array\|[bBpvV]matrix\|split\|smallmatrix\)\s*}" syn match texBadMath "\\end\s*{\s*\(displaymath\|equation\|eqnarray\|math\)\*\=\s*}" syn match texBadMath "\\[\])]" endif " Math Zones: {{{1 if !exists("g:tex_no_math") " TexNewMathZone: function creates a mathzone with the given suffix and mathzone name. {{{2 " Starred forms are created if starform is true. Starred " forms have syntax group and synchronization groups with a " "S" appended. Handles: cluster, syntax, sync, and highlighting. fun! TexNewMathZone(sfx,mathzone,starform) let grpname = "texMathZone".a:sfx let syncname = "texSyncMathZone".a:sfx if s:tex_fold_enabled let foldcmd= " fold" else let foldcmd= "" endif exe "syn cluster texMathZones add=".grpname if s:tex_fast =~# 'M' exe 'syn region '.grpname.' start='."'".'\\begin\s*{\s*'.a:mathzone.'\s*}'."'".' end='."'".'\\end\s*{\s*'.a:mathzone.'\s*}'."'".' keepend contains=@texMathZoneGroup'.foldcmd exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"' exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"' endif exe 'hi def link '.grpname.' texMath' if a:starform let grpname = "texMathZone".a:sfx.'S' let syncname = "texSyncMathZone".a:sfx.'S' exe "syn cluster texMathZones add=".grpname if s:tex_fast =~# 'M' exe 'syn region '.grpname.' start='."'".'\\begin\s*{\s*'.a:mathzone.'\*\s*}'."'".' end='."'".'\\end\s*{\s*'.a:mathzone.'\*\s*}'."'".' keepend contains=@texMathZoneGroup'.foldcmd exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"' exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"' endif exe 'hi def link '.grpname.' texMath' endif endfun " Standard Math Zones: {{{2 call TexNewMathZone("A","displaymath",1) call TexNewMathZone("B","eqnarray",1) call TexNewMathZone("C","equation",1) call TexNewMathZone("D","math",1) " Inline Math Zones: {{{2 if s:tex_fast =~# 'M' if has("conceal") && &enc == 'utf-8' && s:tex_conceal =~# 'd' syn region texMathZoneV matchgroup=Delimiter start="\\(" matchgroup=Delimiter end="\\)\|%stopzone\>" keepend concealends contains=@texMathZoneGroup syn region texMathZoneW matchgroup=Delimiter start="\\\[" matchgroup=Delimiter end="\\]\|%stopzone\>" keepend concealends contains=@texMathZoneGroup syn region texMathZoneX matchgroup=Delimiter start="\$" skip="\\\\\|\\\$" matchgroup=Delimiter end="\$" end="%stopzone\>" concealends contains=@texMathZoneGroup syn region texMathZoneY matchgroup=Delimiter start="\$\$" matchgroup=Delimiter end="\$\$" end="%stopzone\>" keepend concealends contains=@texMathZoneGroup else syn region texMathZoneV matchgroup=Delimiter start="\\(" matchgroup=Delimiter end="\\)\|%stopzone\>" keepend contains=@texMathZoneGroup syn region texMathZoneW matchgroup=Delimiter start="\\\[" matchgroup=Delimiter end="\\]\|%stopzone\>" keepend contains=@texMathZoneGroup syn region texMathZoneX matchgroup=Delimiter start="\$" skip="\%(\\\\\)*\\\$" matchgroup=Delimiter end="\$" end="%stopzone\>" contains=@texMathZoneGroup syn region texMathZoneY matchgroup=Delimiter start="\$\$" matchgroup=Delimiter end="\$\$" end="%stopzone\>" keepend contains=@texMathZoneGroup endif syn region texMathZoneZ matchgroup=texStatement start="\\ensuremath\s*{" matchgroup=texStatement end="}" end="%stopzone\>" contains=@texMathZoneGroup endif syn match texMathOper "[_^=]" contained " Text Inside Math Zones: {{{2 if s:tex_fast =~# 'M' if !exists("g:tex_nospell") || !g:tex_nospell syn region texMathText matchgroup=texStatement start='\\\(\(inter\)\=text\|mbox\)\s*{' end='}' contains=@texFoldGroup,@Spell else syn region texMathText matchgroup=texStatement start='\\\(\(inter\)\=text\|mbox\)\s*{' end='}' contains=@texFoldGroup endif endif " \left..something.. and \right..something.. support: {{{2 syn match texMathDelimBad contained "\S" if has("conceal") && &enc == 'utf-8' && s:tex_conceal =~# 'm' syn match texMathDelim contained "\\left\[" syn match texMathDelim contained "\\left\\{" skipwhite nextgroup=texMathDelimSet1,texMathDelimSet2,texMathDelimBad contains=texMathSymbol cchar={ syn match texMathDelim contained "\\right\\}" skipwhite nextgroup=texMathDelimSet1,texMathDelimSet2,texMathDelimBad contains=texMathSymbol cchar=} let s:texMathDelimList=[ \ ['<' , '<'] , \ ['>' , '>'] , \ ['(' , '('] , \ [')' , ')'] , \ ['\[' , '['] , \ [']' , ']'] , \ ['\\{' , '{'] , \ ['\\}' , '}'] , \ ['|' , '|'] , \ ['\\|' , '‖'] , \ ['\\backslash' , '\'] , \ ['\\downarrow' , '↓'] , \ ['\\Downarrow' , '⇓'] , \ ['\\lbrace' , '['] , \ ['\\lceil' , '⌈'] , \ ['\\lfloor' , '⌊'] , \ ['\\lgroup' , '⌊'] , \ ['\\lmoustache' , '⎛'] , \ ['\\rbrace' , ']'] , \ ['\\rceil' , '⌉'] , \ ['\\rfloor' , '⌋'] , \ ['\\rgroup' , '⌋'] , \ ['\\rmoustache' , '⎞'] , \ ['\\uparrow' , '↑'] , \ ['\\Uparrow' , '↑'] , \ ['\\updownarrow', '↕'] , \ ['\\Updownarrow', '⇕']] if &ambw == "double" || exists("g:tex_usedblwidth") let s:texMathDelimList= s:texMathDelimList + [ \ ['\\langle' , '〈'] , \ ['\\rangle' , '〉']] else let s:texMathDelimList= s:texMathDelimList + [ \ ['\\langle' , '<'] , \ ['\\rangle' , '>']] endif syn match texMathDelim '\\[bB]igg\=[lr]' contained nextgroup=texMathDelimBad for texmath in s:texMathDelimList exe "syn match texMathDelim '\\\\[bB]igg\\=[lr]\\=".texmath[0]."' contained conceal cchar=".texmath[1] endfor else syn match texMathDelim contained "\\\(left\|right\)\>" skipwhite nextgroup=texMathDelimSet1,texMathDelimSet2,texMathDelimBad syn match texMathDelim contained "\\[bB]igg\=[lr]\=\>" skipwhite nextgroup=texMathDelimSet1,texMathDelimSet2,texMathDelimBad syn match texMathDelimSet2 contained "\\" nextgroup=texMathDelimKey,texMathDelimBad syn match texMathDelimSet1 contained "[<>()[\]|/.]\|\\[{}|]" syn keyword texMathDelimKey contained backslash lceil lVert rgroup uparrow syn keyword texMathDelimKey contained downarrow lfloor rangle rmoustache Uparrow syn keyword texMathDelimKey contained Downarrow lgroup rbrace rvert updownarrow syn keyword texMathDelimKey contained langle lmoustache rceil rVert Updownarrow syn keyword texMathDelimKey contained lbrace lvert rfloor endif syn match texMathDelim contained "\\\(left\|right\)arrow\>\|\<\([aA]rrow\|brace\)\=vert\>" syn match texMathDelim contained "\\lefteqn\>" endif " Special TeX characters ( \$ \& \% \# \{ \} \_ \S \P ) : {{{1 syn match texSpecialChar "\\[$&%#{}_]" if b:tex_stylish syn match texSpecialChar "\\[SP@][^a-zA-Z@]"me=e-1 else syn match texSpecialChar "\\[SP@]\A"me=e-1 endif syn match texSpecialChar "\\\\" if !exists("g:tex_no_math") syn match texOnlyMath "[_^]" endif syn match texSpecialChar "\^\^[0-9a-f]\{2}\|\^\^\S" if s:tex_conceal !~# 'S' syn match texSpecialChar '\\glq\>' contained conceal cchar=‚ syn match texSpecialChar '\\grq\>' contained conceal cchar=‘ syn match texSpecialChar '\\glqq\>' contained conceal cchar=„ syn match texSpecialChar '\\grqq\>' contained conceal cchar=“ syn match texSpecialChar '\\hyp\>' contained conceal cchar=- endif " Comments: {{{1 " Normal TeX LaTeX : %.... " Documented TeX Format: ^^A... -and- leading %s (only) if !s:tex_comment_nospell syn cluster texCommentGroup contains=texTodo,@Spell else syn cluster texCommentGroup contains=texTodo,@NoSpell endif syn case ignore syn keyword texTodo contained combak fixme todo xxx syn case match if s:extfname == "dtx" syn match texComment "\^\^A.*$" contains=@texCommentGroup syn match texComment "^%\+" contains=@texCommentGroup else if s:tex_fold_enabled " allows syntax-folding of 2 or more contiguous comment lines " single-line comments are not folded syn match texComment "%.*$" contains=@texCommentGroup if s:tex_fast =~# 'c' TexFold syn region texComment start="^\zs\s*%.*\_s*%" skip="^\s*%" end='^\ze\s*[^%]' contains=@texCommentGroup TexFold syn region texNoSpell contained matchgroup=texComment start="%\s*nospell\s*{" end="%\s*nospell\s*}" contains=@texFoldGroup,@NoSpell endif else syn match texComment "%.*$" contains=@texCommentGroup if s:tex_fast =~# 'c' syn region texNoSpell contained matchgroup=texComment start="%\s*nospell\s*{" end="%\s*nospell\s*}" contains=@texFoldGroup,@NoSpell endif endif endif " %begin-include ... %end-include acts like a texDocZone for \include'd files. Permits spell checking, for example, in such files. if !s:tex_nospell TexFold syn region texDocZone matchgroup=texSection start='^\s*%begin-include\>' end='^\s*%end-include\>' contains=@texFoldGroup,@texDocGroup,@Spell else TexFold syn region texDocZone matchgroup=texSection start='^\s*%begin-include\>' end='^\s*%end-include\>' contains=@texFoldGroup,@texDocGroup endif " Separate lines used for verb` and verb# so that the end conditions {{{1 " will appropriately terminate. " If g:tex_verbspell exists, then verbatim texZones will permit spellchecking there. if s:tex_fast =~# 'v' if exists("g:tex_verbspell") && g:tex_verbspell syn region texZone start="\\begin{[vV]erbatim}" end="\\end{[vV]erbatim}\|%stopzone\>" contains=@Spell " listings package: if b:tex_stylish syn region texZone start="\\verb\*\=\z([^\ta-zA-Z@]\)" end="\z1\|%stopzone\>" contains=@Spell else syn region texZone start="\\verb\*\=\z([^\ta-zA-Z]\)" end="\z1\|%stopzone\>" contains=@Spell endif else syn region texZone start="\\begin{[vV]erbatim}" end="\\end{[vV]erbatim}\|%stopzone\>" if b:tex_stylish syn region texZone start="\\verb\*\=\z([^\ta-zA-Z@]\)" end="\z1\|%stopzone\>" else syn region texZone start="\\verb\*\=\z([^\ta-zA-Z]\)" end="\z1\|%stopzone\>" endif endif endif " Tex Reference Zones: {{{1 if s:tex_fast =~# 'r' syn region texZone matchgroup=texStatement start="@samp{" end="}\|%stopzone\>" contains=@texRefGroup syn region texRefZone matchgroup=texStatement start="\\nocite{" end="}\|%stopzone\>" contains=@texRefGroup syn region texRefZone matchgroup=texStatement start="\\bibliography{" end="}\|%stopzone\>" contains=@texRefGroup syn region texRefZone matchgroup=texStatement start="\\label{" end="}\|%stopzone\>" contains=@texRefGroup syn region texRefZone matchgroup=texStatement start="\\\(page\|eq\)ref{" end="}\|%stopzone\>" contains=@texRefGroup syn region texRefZone matchgroup=texStatement start="\\v\=ref{" end="}\|%stopzone\>" contains=@texRefGroup syn region texRefOption contained matchgroup=Delimiter start='\[' end=']' contains=@texRefGroup,texRefZone nextgroup=texRefOption,texCite syn region texCite contained matchgroup=Delimiter start='{' end='}' contains=@texRefGroup,texRefZone,texCite endif syn match texRefZone '\\cite\%([tp]\*\=\)\=' nextgroup=texRefOption,texCite " Handle newcommand, newenvironment : {{{1 syn match texNewCmd "\\newcommand\>" nextgroup=texCmdName skipwhite skipnl if s:tex_fast =~# 'V' syn region texCmdName contained matchgroup=Delimiter start="{"rs=s+1 end="}" nextgroup=texCmdArgs,texCmdBody skipwhite skipnl syn region texCmdArgs contained matchgroup=Delimiter start="\["rs=s+1 end="]" nextgroup=texCmdBody skipwhite skipnl syn region texCmdBody contained matchgroup=Delimiter start="{"rs=s+1 skip="\\\\\|\\[{}]" matchgroup=Delimiter end="}" contains=@texCmdGroup endif syn match texNewEnv "\\newenvironment\>" nextgroup=texEnvName skipwhite skipnl if s:tex_fast =~# 'V' syn region texEnvName contained matchgroup=Delimiter start="{"rs=s+1 end="}" nextgroup=texEnvBgn skipwhite skipnl syn region texEnvBgn contained matchgroup=Delimiter start="{"rs=s+1 end="}" nextgroup=texEnvEnd skipwhite skipnl contains=@texEnvGroup syn region texEnvEnd contained matchgroup=Delimiter start="{"rs=s+1 end="}" skipwhite skipnl contains=@texEnvGroup endif " Definitions/Commands: {{{1 syn match texDefCmd "\\def\>" nextgroup=texDefName skipwhite skipnl if b:tex_stylish syn match texDefName contained "\\[a-zA-Z@]\+" nextgroup=texDefParms,texCmdBody skipwhite skipnl syn match texDefName contained "\\[^a-zA-Z@]" nextgroup=texDefParms,texCmdBody skipwhite skipnl else syn match texDefName contained "\\\a\+" nextgroup=texDefParms,texCmdBody skipwhite skipnl syn match texDefName contained "\\\A" nextgroup=texDefParms,texCmdBody skipwhite skipnl endif syn match texDefParms contained "#[^{]*" contains=texDefParm nextgroup=texCmdBody skipwhite skipnl syn match texDefParm contained "#\d\+" " TeX Lengths: {{{1 syn match texLength "\<\d\+\([.,]\d\+\)\=\s*\(true\)\=\s*\(bp\|cc\|cm\|dd\|em\|ex\|in\|mm\|pc\|pt\|sp\)\>" " TeX String Delimiters: {{{1 syn match texString "\(``\|''\|,,\)" " makeatletter -- makeatother sections if !s:tex_no_error if s:tex_fast =~# 'S' syn region texStyle matchgroup=texStatement start='\\makeatletter' end='\\makeatother' contains=@texStyleGroup contained endif syn match texStyleStatement "\\[a-zA-Z@]\+" contained if s:tex_fast =~# 'S' syn region texStyleMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" contains=@texStyleGroup,texError contained syn region texStyleMatcher matchgroup=Delimiter start="\[" end="]" contains=@texStyleGroup,texError contained endif endif " Conceal mode support (supports set cole=2) {{{1 if has("conceal") && &enc == 'utf-8' " Math Symbols {{{2 " (many of these symbols were contributed by Björn Winckler) if s:tex_conceal =~# 'm' let s:texMathList=[ \ ['|' , '‖'], \ ['aleph' , 'ℵ'], \ ['amalg' , '∐'], \ ['angle' , '∠'], \ ['approx' , '≈'], \ ['ast' , '∗'], \ ['asymp' , '≍'], \ ['backslash' , '∖'], \ ['bigcap' , '∩'], \ ['bigcirc' , '○'], \ ['bigcup' , '∪'], \ ['bigodot' , '⊙'], \ ['bigoplus' , '⊕'], \ ['bigotimes' , '⊗'], \ ['bigsqcup' , '⊔'], \ ['bigtriangledown', '∇'], \ ['bigtriangleup' , '∆'], \ ['bigvee' , '⋁'], \ ['bigwedge' , '⋀'], \ ['bot' , '⊥'], \ ['bowtie' , '⋈'], \ ['bullet' , '•'], \ ['cap' , '∩'], \ ['cdot' , '·'], \ ['cdots' , '⋯'], \ ['circ' , '∘'], \ ['clubsuit' , '♣'], \ ['cong' , '≅'], \ ['coprod' , '∐'], \ ['copyright' , '©'], \ ['cup' , '∪'], \ ['dagger' , '†'], \ ['dashv' , '⊣'], \ ['ddagger' , '‡'], \ ['ddots' , '⋱'], \ ['diamond' , '⋄'], \ ['diamondsuit' , '♢'], \ ['div' , '÷'], \ ['doteq' , '≐'], \ ['dots' , '…'], \ ['downarrow' , '↓'], \ ['Downarrow' , '⇓'], \ ['ell' , 'ℓ'], \ ['emptyset' , '∅'], \ ['equiv' , '≡'], \ ['exists' , '∃'], \ ['flat' , '♭'], \ ['forall' , '∀'], \ ['frown' , '⁔'], \ ['ge' , '≥'], \ ['geq' , '≥'], \ ['gets' , '←'], \ ['gg' , '⟫'], \ ['hbar' , 'ℏ'], \ ['heartsuit' , '♡'], \ ['hookleftarrow' , '↩'], \ ['hookrightarrow' , '↪'], \ ['iff' , '⇔'], \ ['Im' , 'ℑ'], \ ['imath' , 'ɩ'], \ ['in' , '∈'], \ ['infty' , '∞'], \ ['int' , '∫'], \ ['jmath' , '𝚥'], \ ['land' , '∧'], \ ['lceil' , '⌈'], \ ['ldots' , '…'], \ ['le' , '≤'], \ ['left(' , '('], \ ['left\[' , '['], \ ['left\\{' , '{'], \ ['leftarrow' , '←'], \ ['Leftarrow' , '⇐'], \ ['leftharpoondown', '↽'], \ ['leftharpoonup' , '↼'], \ ['leftrightarrow' , '↔'], \ ['Leftrightarrow' , '⇔'], \ ['leq' , '≤'], \ ['leq' , '≤'], \ ['lfloor' , '⌊'], \ ['ll' , '≪'], \ ['lmoustache' , '╭'], \ ['lor' , '∨'], \ ['mapsto' , '↦'], \ ['mid' , '∣'], \ ['models' , '╞'], \ ['mp' , '∓'], \ ['nabla' , '∇'], \ ['natural' , '♮'], \ ['ne' , '≠'], \ ['nearrow' , '↗'], \ ['neg' , '¬'], \ ['neq' , '≠'], \ ['ni' , '∋'], \ ['notin' , '∉'], \ ['nwarrow' , '↖'], \ ['odot' , '⊙'], \ ['oint' , '∮'], \ ['ominus' , '⊖'], \ ['oplus' , '⊕'], \ ['oslash' , '⊘'], \ ['otimes' , '⊗'], \ ['owns' , '∋'], \ ['P' , '¶'], \ ['parallel' , '║'], \ ['partial' , '∂'], \ ['perp' , '⊥'], \ ['pm' , '±'], \ ['prec' , '≺'], \ ['preceq' , '⪯'], \ ['prime' , '′'], \ ['prod' , '∏'], \ ['propto' , '∝'], \ ['rceil' , '⌉'], \ ['Re' , 'ℜ'], \ ['quad' , ' '], \ ['qquad' , ' '], \ ['rfloor' , '⌋'], \ ['right)' , ')'], \ ['right]' , ']'], \ ['right\\}' , '}'], \ ['rightarrow' , '→'], \ ['Rightarrow' , '⇒'], \ ['rightleftharpoons', '⇌'], \ ['rmoustache' , '╮'], \ ['S' , '§'], \ ['searrow' , '↘'], \ ['setminus' , '∖'], \ ['sharp' , '♯'], \ ['sim' , '∼'], \ ['simeq' , '⋍'], \ ['smile' , '‿'], \ ['spadesuit' , '♠'], \ ['sqcap' , '⊓'], \ ['sqcup' , '⊔'], \ ['sqsubset' , '⊏'], \ ['sqsubseteq' , '⊑'], \ ['sqsupset' , '⊐'], \ ['sqsupseteq' , '⊒'], \ ['star' , '✫'], \ ['subset' , '⊂'], \ ['subseteq' , '⊆'], \ ['succ' , '≻'], \ ['succeq' , '⪰'], \ ['sum' , '∑'], \ ['supset' , '⊃'], \ ['supseteq' , '⊇'], \ ['surd' , '√'], \ ['swarrow' , '↙'], \ ['times' , '×'], \ ['to' , '→'], \ ['top' , '⊤'], \ ['triangle' , '∆'], \ ['triangleleft' , '⊲'], \ ['triangleright' , '⊳'], \ ['uparrow' , '↑'], \ ['Uparrow' , '⇑'], \ ['updownarrow' , '↕'], \ ['Updownarrow' , '⇕'], \ ['vdash' , '⊢'], \ ['vdots' , '⋮'], \ ['vee' , '∨'], \ ['wedge' , '∧'], \ ['wp' , '℘'], \ ['wr' , '≀']] if &ambw == "double" || exists("g:tex_usedblwidth") let s:texMathList= s:texMathList + [ \ ['right\\rangle' , '〉'], \ ['left\\langle' , '〈']] else let s:texMathList= s:texMathList + [ \ ['right\\rangle' , '>'], \ ['left\\langle' , '<']] endif for texmath in s:texMathList if texmath[0] =~# '\w$' exe "syn match texMathSymbol '\\\\".texmath[0]."\\>' contained conceal cchar=".texmath[1] else exe "syn match texMathSymbol '\\\\".texmath[0]."' contained conceal cchar=".texmath[1] endif endfor if &ambw == "double" syn match texMathSymbol '\\gg\>' contained conceal cchar=≫ syn match texMathSymbol '\\ll\>' contained conceal cchar=≪ else syn match texMathSymbol '\\gg\>' contained conceal cchar=⟫ syn match texMathSymbol '\\ll\>' contained conceal cchar=⟪ endif syn match texMathSymbol '\\hat{a}' contained conceal cchar=â syn match texMathSymbol '\\hat{A}' contained conceal cchar= syn match texMathSymbol '\\hat{c}' contained conceal cchar=ĉ syn match texMathSymbol '\\hat{C}' contained conceal cchar=Ĉ syn match texMathSymbol '\\hat{e}' contained conceal cchar=ê syn match texMathSymbol '\\hat{E}' contained conceal cchar=Ê syn match texMathSymbol '\\hat{g}' contained conceal cchar=ĝ syn match texMathSymbol '\\hat{G}' contained conceal cchar=Ĝ syn match texMathSymbol '\\hat{i}' contained conceal cchar=î syn match texMathSymbol '\\hat{I}' contained conceal cchar=Î syn match texMathSymbol '\\hat{o}' contained conceal cchar=ô syn match texMathSymbol '\\hat{O}' contained conceal cchar=Ô syn match texMathSymbol '\\hat{s}' contained conceal cchar=ŝ syn match texMathSymbol '\\hat{S}' contained conceal cchar=Ŝ syn match texMathSymbol '\\hat{u}' contained conceal cchar=û syn match texMathSymbol '\\hat{U}' contained conceal cchar=Û syn match texMathSymbol '\\hat{w}' contained conceal cchar=ŵ syn match texMathSymbol '\\hat{W}' contained conceal cchar=Ŵ syn match texMathSymbol '\\hat{y}' contained conceal cchar=ŷ syn match texMathSymbol '\\hat{Y}' contained conceal cchar=Ŷ " syn match texMathSymbol '\\bar{a}' contained conceal cchar=a̅ syn match texMathSymbol '\\dot{B}' contained conceal cchar=Ḃ syn match texMathSymbol '\\dot{b}' contained conceal cchar=ḃ syn match texMathSymbol '\\dot{D}' contained conceal cchar=Ḋ syn match texMathSymbol '\\dot{d}' contained conceal cchar=ḋ syn match texMathSymbol '\\dot{F}' contained conceal cchar=Ḟ syn match texMathSymbol '\\dot{f}' contained conceal cchar=ḟ syn match texMathSymbol '\\dot{H}' contained conceal cchar=Ḣ syn match texMathSymbol '\\dot{h}' contained conceal cchar=ḣ syn match texMathSymbol '\\dot{M}' contained conceal cchar=Ṁ syn match texMathSymbol '\\dot{m}' contained conceal cchar=ṁ syn match texMathSymbol '\\dot{N}' contained conceal cchar=Ṅ syn match texMathSymbol '\\dot{n}' contained conceal cchar=ṅ syn match texMathSymbol '\\dot{P}' contained conceal cchar=Ṗ syn match texMathSymbol '\\dot{p}' contained conceal cchar=ṗ syn match texMathSymbol '\\dot{R}' contained conceal cchar=Ṙ syn match texMathSymbol '\\dot{r}' contained conceal cchar=ṙ syn match texMathSymbol '\\dot{S}' contained conceal cchar=Ṡ syn match texMathSymbol '\\dot{s}' contained conceal cchar=ṡ syn match texMathSymbol '\\dot{T}' contained conceal cchar=Ṫ syn match texMathSymbol '\\dot{t}' contained conceal cchar=ṫ syn match texMathSymbol '\\dot{W}' contained conceal cchar=Ẇ syn match texMathSymbol '\\dot{w}' contained conceal cchar=ẇ syn match texMathSymbol '\\dot{X}' contained conceal cchar=Ẋ syn match texMathSymbol '\\dot{x}' contained conceal cchar=ẋ syn match texMathSymbol '\\dot{Y}' contained conceal cchar=Ẏ syn match texMathSymbol '\\dot{y}' contained conceal cchar=ẏ syn match texMathSymbol '\\dot{Z}' contained conceal cchar=Ż syn match texMathSymbol '\\dot{z}' contained conceal cchar=ż syn match texMathSymbol '\\dot{C}' contained conceal cchar=Ċ syn match texMathSymbol '\\dot{c}' contained conceal cchar=ċ syn match texMathSymbol '\\dot{E}' contained conceal cchar=Ė syn match texMathSymbol '\\dot{e}' contained conceal cchar=ė syn match texMathSymbol '\\dot{G}' contained conceal cchar=Ġ syn match texMathSymbol '\\dot{g}' contained conceal cchar=ġ syn match texMathSymbol '\\dot{I}' contained conceal cchar=İ syn match texMathSymbol '\\dot{A}' contained conceal cchar=Ȧ syn match texMathSymbol '\\dot{a}' contained conceal cchar=ȧ syn match texMathSymbol '\\dot{O}' contained conceal cchar=Ȯ syn match texMathSymbol '\\dot{o}' contained conceal cchar=ȯ endif " Greek {{{2 if s:tex_conceal =~# 'g' fun! s:Greek(group,pat,cchar) exe 'syn match '.a:group." '".a:pat."' contained conceal cchar=".a:cchar endfun call s:Greek('texGreek','\\alpha\>' ,'α') call s:Greek('texGreek','\\beta\>' ,'β') call s:Greek('texGreek','\\gamma\>' ,'γ') call s:Greek('texGreek','\\delta\>' ,'δ') call s:Greek('texGreek','\\epsilon\>' ,'ϵ') call s:Greek('texGreek','\\varepsilon\>' ,'ε') call s:Greek('texGreek','\\zeta\>' ,'ζ') call s:Greek('texGreek','\\eta\>' ,'η') call s:Greek('texGreek','\\theta\>' ,'θ') call s:Greek('texGreek','\\vartheta\>' ,'ϑ') call s:Greek('texGreek','\\iota\>' ,'ι') call s:Greek('texGreek','\\kappa\>' ,'κ') call s:Greek('texGreek','\\lambda\>' ,'λ') call s:Greek('texGreek','\\mu\>' ,'μ') call s:Greek('texGreek','\\nu\>' ,'ν') call s:Greek('texGreek','\\xi\>' ,'ξ') call s:Greek('texGreek','\\pi\>' ,'π') call s:Greek('texGreek','\\varpi\>' ,'ϖ') call s:Greek('texGreek','\\rho\>' ,'ρ') call s:Greek('texGreek','\\varrho\>' ,'ϱ') call s:Greek('texGreek','\\sigma\>' ,'σ') call s:Greek('texGreek','\\varsigma\>' ,'ς') call s:Greek('texGreek','\\tau\>' ,'τ') call s:Greek('texGreek','\\upsilon\>' ,'υ') call s:Greek('texGreek','\\phi\>' ,'ϕ') call s:Greek('texGreek','\\varphi\>' ,'φ') call s:Greek('texGreek','\\chi\>' ,'χ') call s:Greek('texGreek','\\psi\>' ,'ψ') call s:Greek('texGreek','\\omega\>' ,'ω') call s:Greek('texGreek','\\Gamma\>' ,'Γ') call s:Greek('texGreek','\\Delta\>' ,'Δ') call s:Greek('texGreek','\\Theta\>' ,'Θ') call s:Greek('texGreek','\\Lambda\>' ,'Λ') call s:Greek('texGreek','\\Xi\>' ,'Ξ') call s:Greek('texGreek','\\Pi\>' ,'Π') call s:Greek('texGreek','\\Sigma\>' ,'Σ') call s:Greek('texGreek','\\Upsilon\>' ,'Υ') call s:Greek('texGreek','\\Phi\>' ,'Φ') call s:Greek('texGreek','\\Chi\>' ,'Χ') call s:Greek('texGreek','\\Psi\>' ,'Ψ') call s:Greek('texGreek','\\Omega\>' ,'Ω') delfun s:Greek endif " Superscripts/Subscripts {{{2 if s:tex_conceal =~# 's' if s:tex_fast =~# 's' syn region texSuperscript matchgroup=Delimiter start='\^{' skip="\\\\\|\\[{}]" end='}' contained concealends contains=texSpecialChar,texSuperscripts,texStatement,texSubscript,texSuperscript,texMathMatcher syn region texSubscript matchgroup=Delimiter start='_{' skip="\\\\\|\\[{}]" end='}' contained concealends contains=texSpecialChar,texSubscripts,texStatement,texSubscript,texSuperscript,texMathMatcher endif " s:SuperSub: fun! s:SuperSub(group,leader,pat,cchar) if a:pat =~# '^\\' || (a:leader == '\^' && a:pat =~# s:tex_superscripts) || (a:leader == '_' && a:pat =~# s:tex_subscripts) " call Decho("SuperSub: group<".a:group."> leader<".a:leader."> pat<".a:pat."> cchar<".a:cchar.">") exe 'syn match '.a:group." '".a:leader.a:pat."' contained conceal cchar=".a:cchar exe 'syn match '.a:group."s '".a:pat ."' contained conceal cchar=".a:cchar.' nextgroup='.a:group.'s' endif endfun call s:SuperSub('texSuperscript','\^','0','⁰') call s:SuperSub('texSuperscript','\^','1','¹') call s:SuperSub('texSuperscript','\^','2','²') call s:SuperSub('texSuperscript','\^','3','³') call s:SuperSub('texSuperscript','\^','4','⁴') call s:SuperSub('texSuperscript','\^','5','⁵') call s:SuperSub('texSuperscript','\^','6','⁶') call s:SuperSub('texSuperscript','\^','7','⁷') call s:SuperSub('texSuperscript','\^','8','⁸') call s:SuperSub('texSuperscript','\^','9','⁹') call s:SuperSub('texSuperscript','\^','a','ᵃ') call s:SuperSub('texSuperscript','\^','b','ᵇ') call s:SuperSub('texSuperscript','\^','c','ᶜ') call s:SuperSub('texSuperscript','\^','d','ᵈ') call s:SuperSub('texSuperscript','\^','e','ᵉ') call s:SuperSub('texSuperscript','\^','f','ᶠ') call s:SuperSub('texSuperscript','\^','g','ᵍ') call s:SuperSub('texSuperscript','\^','h','ʰ') call s:SuperSub('texSuperscript','\^','i','ⁱ') call s:SuperSub('texSuperscript','\^','j','ʲ') call s:SuperSub('texSuperscript','\^','k','ᵏ') call s:SuperSub('texSuperscript','\^','l','ˡ') call s:SuperSub('texSuperscript','\^','m','ᵐ') call s:SuperSub('texSuperscript','\^','n','ⁿ') call s:SuperSub('texSuperscript','\^','o','ᵒ') call s:SuperSub('texSuperscript','\^','p','ᵖ') call s:SuperSub('texSuperscript','\^','r','ʳ') call s:SuperSub('texSuperscript','\^','s','ˢ') call s:SuperSub('texSuperscript','\^','t','ᵗ') call s:SuperSub('texSuperscript','\^','u','ᵘ') call s:SuperSub('texSuperscript','\^','v','ᵛ') call s:SuperSub('texSuperscript','\^','w','ʷ') call s:SuperSub('texSuperscript','\^','x','ˣ') call s:SuperSub('texSuperscript','\^','y','ʸ') call s:SuperSub('texSuperscript','\^','z','ᶻ') call s:SuperSub('texSuperscript','\^','A','ᴬ') call s:SuperSub('texSuperscript','\^','B','ᴮ') call s:SuperSub('texSuperscript','\^','D','ᴰ') call s:SuperSub('texSuperscript','\^','E','ᴱ') call s:SuperSub('texSuperscript','\^','G','ᴳ') call s:SuperSub('texSuperscript','\^','H','ᴴ') call s:SuperSub('texSuperscript','\^','I','ᴵ') call s:SuperSub('texSuperscript','\^','J','ᴶ') call s:SuperSub('texSuperscript','\^','K','ᴷ') call s:SuperSub('texSuperscript','\^','L','ᴸ') call s:SuperSub('texSuperscript','\^','M','ᴹ') call s:SuperSub('texSuperscript','\^','N','ᴺ') call s:SuperSub('texSuperscript','\^','O','ᴼ') call s:SuperSub('texSuperscript','\^','P','ᴾ') call s:SuperSub('texSuperscript','\^','R','ᴿ') call s:SuperSub('texSuperscript','\^','T','ᵀ') call s:SuperSub('texSuperscript','\^','U','ᵁ') call s:SuperSub('texSuperscript','\^','W','ᵂ') call s:SuperSub('texSuperscript','\^',',','︐') call s:SuperSub('texSuperscript','\^',':','︓') call s:SuperSub('texSuperscript','\^',';','︔') call s:SuperSub('texSuperscript','\^','+','⁺') call s:SuperSub('texSuperscript','\^','-','⁻') call s:SuperSub('texSuperscript','\^','<','˂') call s:SuperSub('texSuperscript','\^','>','˃') call s:SuperSub('texSuperscript','\^','/','ˊ') call s:SuperSub('texSuperscript','\^','(','⁽') call s:SuperSub('texSuperscript','\^',')','⁾') call s:SuperSub('texSuperscript','\^','\.','˙') call s:SuperSub('texSuperscript','\^','=','˭') call s:SuperSub('texSubscript','_','0','₀') call s:SuperSub('texSubscript','_','1','₁') call s:SuperSub('texSubscript','_','2','₂') call s:SuperSub('texSubscript','_','3','₃') call s:SuperSub('texSubscript','_','4','₄') call s:SuperSub('texSubscript','_','5','₅') call s:SuperSub('texSubscript','_','6','₆') call s:SuperSub('texSubscript','_','7','₇') call s:SuperSub('texSubscript','_','8','₈') call s:SuperSub('texSubscript','_','9','₉') call s:SuperSub('texSubscript','_','a','ₐ') call s:SuperSub('texSubscript','_','e','ₑ') call s:SuperSub('texSubscript','_','h','ₕ') call s:SuperSub('texSubscript','_','i','ᵢ') call s:SuperSub('texSubscript','_','j','ⱼ') call s:SuperSub('texSubscript','_','k','ₖ') call s:SuperSub('texSubscript','_','l','ₗ') call s:SuperSub('texSubscript','_','m','ₘ') call s:SuperSub('texSubscript','_','n','ₙ') call s:SuperSub('texSubscript','_','o','ₒ') call s:SuperSub('texSubscript','_','p','ₚ') call s:SuperSub('texSubscript','_','r','ᵣ') call s:SuperSub('texSubscript','_','s','ₛ') call s:SuperSub('texSubscript','_','t','ₜ') call s:SuperSub('texSubscript','_','u','ᵤ') call s:SuperSub('texSubscript','_','v','ᵥ') call s:SuperSub('texSubscript','_','x','ₓ') call s:SuperSub('texSubscript','_',',','︐') call s:SuperSub('texSubscript','_','+','₊') call s:SuperSub('texSubscript','_','-','₋') call s:SuperSub('texSubscript','_','/','ˏ') call s:SuperSub('texSubscript','_','(','₍') call s:SuperSub('texSubscript','_',')','₎') call s:SuperSub('texSubscript','_','\.','‸') call s:SuperSub('texSubscript','_','r','ᵣ') call s:SuperSub('texSubscript','_','v','ᵥ') call s:SuperSub('texSubscript','_','x','ₓ') call s:SuperSub('texSubscript','_','\\beta\>' ,'ᵦ') call s:SuperSub('texSubscript','_','\\delta\>','ᵨ') call s:SuperSub('texSubscript','_','\\phi\>' ,'ᵩ') call s:SuperSub('texSubscript','_','\\gamma\>','ᵧ') call s:SuperSub('texSubscript','_','\\chi\>' ,'ᵪ') delfun s:SuperSub endif " Accented characters and Ligatures: {{{2 if s:tex_conceal =~# 'a' if b:tex_stylish syn match texAccent "\\[bcdvuH][^a-zA-Z@]"me=e-1 syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)[^a-zA-Z@]"me=e-1 syn match texLigature '--' syn match texLigature '---' else fun! s:Accents(chr,...) let i= 1 for accent in ["`","\\'","^",'"','\~','\.','=',"c","H","k","r","u","v"] if i > a:0 break endif if strlen(a:{i}) == 0 || a:{i} == ' ' || a:{i} == '?' let i= i + 1 continue endif if accent =~# '\a' exe "syn match texAccent '".'\\'.accent.'\(\s*{'.a:chr.'}\|\s\+'.a:chr.'\)'."' conceal cchar=".a:{i} else exe "syn match texAccent '".'\\'.accent.'\s*\({'.a:chr.'}\|'.a:chr.'\)'."' conceal cchar=".a:{i} endif let i= i + 1 endfor endfun " \` \' \^ \" \~ \. \= \c \H \k \r \u \v call s:Accents('a','à','á','â','ä','ã','ȧ','ā',' ',' ','ą','å','ă','ǎ') call s:Accents('A','À','Á','Â','Ä','Ã','Ȧ','Ā',' ',' ','Ą','Å','Ă','Ǎ') call s:Accents('c',' ','ć','ĉ',' ',' ','ċ',' ','ç',' ',' ',' ',' ','č') call s:Accents('C',' ','Ć','Ĉ',' ',' ','Ċ',' ','Ç',' ',' ',' ',' ','Č') call s:Accents('d',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','ď') call s:Accents('D',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','Ď') call s:Accents('e','è','é','ê','ë','ẽ','ė','ē','ȩ',' ','ę',' ','ĕ','ě') call s:Accents('E','È','É','Ê','Ë','Ẽ','Ė','Ē','Ȩ',' ','Ę',' ','Ĕ','Ě') call s:Accents('g',' ','ǵ','ĝ',' ',' ','ġ',' ','ģ',' ',' ',' ','ğ','ǧ') call s:Accents('G',' ','Ǵ','Ĝ',' ',' ','Ġ',' ','Ģ',' ',' ',' ','Ğ','Ǧ') call s:Accents('h',' ',' ','ĥ',' ',' ',' ',' ',' ',' ',' ',' ',' ','ȟ') call s:Accents('H',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','Ȟ') call s:Accents('i','ì','í','î','ï','ĩ','į','ī',' ',' ','į',' ','ĭ','ǐ') call s:Accents('I','Ì','Í','Î','Ï','Ĩ','İ','Ī',' ',' ','Į',' ','Ĭ','Ǐ') call s:Accents('J',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','ǰ') call s:Accents('k',' ',' ',' ',' ',' ',' ',' ','ķ',' ',' ',' ',' ','ǩ') call s:Accents('K',' ',' ',' ',' ',' ',' ',' ','Ķ',' ',' ',' ',' ','Ǩ') call s:Accents('l',' ','ĺ','ľ',' ',' ',' ',' ','ļ',' ',' ',' ',' ','ľ') call s:Accents('L',' ','Ĺ','Ľ',' ',' ',' ',' ','Ļ',' ',' ',' ',' ','Ľ') call s:Accents('n',' ','ń',' ',' ','ñ',' ',' ','ņ',' ',' ',' ',' ','ň') call s:Accents('N',' ','Ń',' ',' ','Ñ',' ',' ','Ņ',' ',' ',' ',' ','Ň') call s:Accents('o','ò','ó','ô','ö','õ','ȯ','ō',' ','ő','ǫ',' ','ŏ','ǒ') call s:Accents('O','Ò','Ó','Ô','Ö','Õ','Ȯ','Ō',' ','Ő','Ǫ',' ','Ŏ','Ǒ') call s:Accents('r',' ','ŕ',' ',' ',' ',' ',' ','ŗ',' ',' ',' ',' ','ř') call s:Accents('R',' ','Ŕ',' ',' ',' ',' ',' ','Ŗ',' ',' ',' ',' ','Ř') call s:Accents('s',' ','ś','ŝ',' ',' ',' ',' ','ş',' ','ȿ',' ',' ','š') call s:Accents('S',' ','Ś','Ŝ',' ',' ',' ',' ','Ş',' ',' ',' ',' ','Š') call s:Accents('t',' ',' ',' ',' ',' ',' ',' ','ţ',' ',' ',' ',' ','ť') call s:Accents('T',' ',' ',' ',' ',' ',' ',' ','Ţ',' ',' ',' ',' ','Ť') call s:Accents('u','ù','ú','û','ü','ũ',' ','ū',' ','ű','ų','ů','ŭ','ǔ') call s:Accents('U','Ù','Ú','Û','Ü','Ũ',' ','Ū',' ','Ű','Ų','Ů','Ŭ','Ǔ') call s:Accents('w',' ',' ','ŵ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ') call s:Accents('W',' ',' ','Ŵ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ') call s:Accents('y','ỳ','ý','ŷ','ÿ','ỹ',' ',' ',' ',' ',' ',' ',' ',' ') call s:Accents('Y','Ỳ','Ý','Ŷ','Ÿ','Ỹ',' ',' ',' ',' ',' ',' ',' ',' ') call s:Accents('z',' ','ź',' ',' ',' ','ż',' ',' ',' ',' ',' ',' ','ž') call s:Accents('Z',' ','Ź',' ',' ',' ','Ż',' ',' ',' ',' ',' ',' ','Ž') call s:Accents('\\i','ì','í','î','ï','ĩ','į',' ',' ',' ',' ',' ','ĭ',' ') " \` \' \^ \" \~ \. \= \c \H \k \r \u \v delfun s:Accents syn match texAccent '\\aa\>' conceal cchar=å syn match texAccent '\\AA\>' conceal cchar=Å syn match texAccent '\\o\>' conceal cchar=ø syn match texAccent '\\O\>' conceal cchar=Ø syn match texLigature '\\AE\>' conceal cchar=Æ syn match texLigature '\\ae\>' conceal cchar=æ syn match texLigature '\\oe\>' conceal cchar=œ syn match texLigature '\\OE\>' conceal cchar=Œ syn match texLigature '\\ss\>' conceal cchar=ß syn match texLigature '--' conceal cchar=– syn match texLigature '---' conceal cchar=— endif endif endif " --------------------------------------------------------------------- " LaTeX synchronization: {{{1 syn sync maxlines=200 syn sync minlines=50 syn sync match texSyncStop groupthere NONE "%stopzone\>" " Synchronization: {{{1 " The $..$ and $$..$$ make for impossible sync patterns " (one can't tell if a "$$" starts or stops a math zone by itself) " The following grouptheres coupled with minlines above " help improve the odds of good syncing. if !exists("g:tex_no_math") syn sync match texSyncMathZoneA groupthere NONE "\\end{abstract}" syn sync match texSyncMathZoneA groupthere NONE "\\end{center}" syn sync match texSyncMathZoneA groupthere NONE "\\end{description}" syn sync match texSyncMathZoneA groupthere NONE "\\end{enumerate}" syn sync match texSyncMathZoneA groupthere NONE "\\end{itemize}" syn sync match texSyncMathZoneA groupthere NONE "\\end{table}" syn sync match texSyncMathZoneA groupthere NONE "\\end{tabular}" syn sync match texSyncMathZoneA groupthere NONE "\\\(sub\)*section\>" endif " --------------------------------------------------------------------- " Highlighting: {{{1 " Define the default highlighting. {{{1 if !exists("skip_tex_syntax_inits") " TeX highlighting groups which should share similar highlighting if !exists("g:tex_no_error") if !exists("g:tex_no_math") hi def link texBadMath texError hi def link texMathDelimBad texError hi def link texMathError texError if !b:tex_stylish hi def link texOnlyMath texError endif endif hi def link texError Error endif hi texBoldStyle gui=bold cterm=bold hi texItalStyle gui=italic cterm=italic hi texBoldItalStyle gui=bold,italic cterm=bold,italic hi texItalBoldStyle gui=bold,italic cterm=bold,italic hi def link texEmphStyle texItalStyle hi def link texCite texRefZone hi def link texDefCmd texDef hi def link texDefName texDef hi def link texDocType texCmdName hi def link texDocTypeArgs texCmdArgs hi def link texInputFileOpt texCmdArgs hi def link texInputCurlies texDelimiter hi def link texLigature texSpecialChar if !exists("g:tex_no_math") hi def link texMathDelimSet1 texMathDelim hi def link texMathDelimSet2 texMathDelim hi def link texMathDelimKey texMathDelim hi def link texMathMatcher texMath hi def link texAccent texStatement hi def link texGreek texStatement hi def link texSuperscript texStatement hi def link texSubscript texStatement hi def link texSuperscripts texSuperscript hi def link texSubscripts texSubscript hi def link texMathSymbol texStatement hi def link texMathZoneV texMath hi def link texMathZoneW texMath hi def link texMathZoneX texMath hi def link texMathZoneY texMath hi def link texMathZoneV texMath hi def link texMathZoneZ texMath endif hi def link texBeginEnd texCmdName hi def link texBeginEndName texSection hi def link texSpaceCode texStatement hi def link texStyleStatement texStatement hi def link texTypeSize texType hi def link texTypeStyle texType " Basic TeX highlighting groups hi def link texCmdArgs Number hi def link texCmdName Statement hi def link texComment Comment hi def link texDef Statement hi def link texDefParm Special hi def link texDelimiter Delimiter hi def link texInput Special hi def link texInputFile Special hi def link texLength Number hi def link texMath Special hi def link texMathDelim Statement hi def link texMathOper Operator hi def link texNewCmd Statement hi def link texNewEnv Statement hi def link texOption Number hi def link texRefZone Special hi def link texSection PreCondit hi def link texSpaceCodeChar Special hi def link texSpecialChar SpecialChar hi def link texStatement Statement hi def link texString String hi def link texTodo Todo hi def link texType Type hi def link texZone PreCondit endif " Cleanup: {{{1 delc TexFold unlet s:extfname let b:current_syntax = "tex" let &cpo = s:keepcpo unlet s:keepcpo " vim: ts=8 fdm=marker
Close