SILENT KILLERPanel

Current Path: > > usr > share > vim > vim80 > syntax


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //usr/share/vim/vim80/syntax

NameTypeSizeLast ModifiedActions
2html.vim File 69175 bytes August 02 2022 16:56:59.
README.txt File 1403 bytes August 02 2022 16:56:59.
a2ps.vim File 2426 bytes August 02 2022 16:56:59.
a65.vim File 6394 bytes August 02 2022 16:56:59.
aap.vim File 5697 bytes August 02 2022 16:56:59.
abap.vim File 9030 bytes August 02 2022 16:56:59.
abaqus.vim File 1094 bytes August 02 2022 16:56:59.
abc.vim File 1842 bytes August 02 2022 16:56:59.
abel.vim File 5114 bytes August 02 2022 16:56:59.
acedb.vim File 4871 bytes August 02 2022 16:56:59.
ada.vim File 13050 bytes August 02 2022 16:56:59.
aflex.vim File 4368 bytes August 02 2022 16:56:59.
ahdl.vim File 2771 bytes August 02 2022 16:56:59.
alsaconf.vim File 1546 bytes August 02 2022 16:56:59.
amiga.vim File 2967 bytes August 02 2022 16:56:59.
aml.vim File 24137 bytes August 02 2022 16:56:59.
ampl.vim File 4108 bytes August 02 2022 16:56:59.
ant.vim File 5816 bytes August 02 2022 16:56:59.
antlr.vim File 1793 bytes August 02 2022 16:56:59.
apache.vim File 14969 bytes August 02 2022 16:56:59.
apachestyle.vim File 1417 bytes August 02 2022 16:56:59.
aptconf.vim File 22228 bytes August 02 2022 16:56:59.
arch.vim File 1149 bytes August 02 2022 16:56:59.
arduino.vim File 2031 bytes August 02 2022 16:56:59.
art.vim File 1297 bytes August 02 2022 16:56:59.
asciidoc.vim File 10998 bytes August 02 2022 16:56:59.
asm.vim File 4338 bytes August 02 2022 16:56:59.
asm68k.vim File 14280 bytes August 02 2022 16:56:59.
asmh8300.vim File 1994 bytes August 02 2022 16:56:59.
asn.vim File 2578 bytes August 02 2022 16:56:59.
aspperl.vim File 811 bytes August 02 2022 16:56:59.
aspvbs.vim File 9099 bytes August 02 2022 16:56:59.
asterisk.vim File 5524 bytes August 02 2022 16:56:59.
asteriskvm.vim File 2332 bytes August 02 2022 16:56:59.
atlas.vim File 2602 bytes August 02 2022 16:56:59.
autodoc.vim File 3730 bytes August 02 2022 16:56:59.
autohotkey.vim File 11861 bytes August 02 2022 16:56:59.
autoit.vim File 48014 bytes August 02 2022 16:56:59.
automake.vim File 3972 bytes August 02 2022 16:56:59.
ave.vim File 1900 bytes August 02 2022 16:56:59.
avra.vim File 2683 bytes August 02 2022 16:56:59.
awk.vim File 7839 bytes August 02 2022 16:56:59.
ayacc.vim File 2585 bytes August 02 2022 16:56:59.
b.vim File 4902 bytes August 02 2022 16:56:59.
baan.vim File 73595 bytes August 02 2022 16:56:59.
basic.vim File 8128 bytes August 02 2022 16:56:59.
bc.vim File 1791 bytes August 02 2022 16:56:59.
bdf.vim File 3841 bytes August 02 2022 16:56:59.
bib.vim File 6004 bytes August 02 2022 16:56:59.
bindzone.vim File 4826 bytes August 02 2022 16:56:59.
blank.vim File 794 bytes August 02 2022 16:56:59.
bst.vim File 2825 bytes August 02 2022 16:56:59.
btm.vim File 9285 bytes August 02 2022 16:56:59.
bzl.vim File 374 bytes August 02 2022 16:56:59.
bzr.vim File 1560 bytes August 02 2022 16:56:59.
c.vim File 26366 bytes August 02 2022 16:56:59.
cabal.vim File 4310 bytes August 02 2022 16:56:59.
calendar.vim File 5042 bytes August 02 2022 16:56:59.
catalog.vim File 921 bytes August 02 2022 16:56:59.
cdl.vim File 3092 bytes August 02 2022 16:56:59.
cdrdaoconf.vim File 3647 bytes August 02 2022 16:56:59.
cdrtoc.vim File 22756 bytes August 02 2022 16:56:59.
cf.vim File 18644 bytes August 02 2022 16:56:59.
cfg.vim File 1351 bytes August 02 2022 16:56:59.
ch.vim File 922 bytes August 02 2022 16:56:59.
chaiscript.vim File 2887 bytes August 02 2022 16:56:59.
change.vim File 901 bytes August 02 2022 16:56:59.
changelog.vim File 2097 bytes August 02 2022 16:56:59.
chaskell.vim File 333 bytes August 02 2022 16:56:59.
cheetah.vim File 1752 bytes August 02 2022 16:56:59.
chicken.vim File 2618 bytes August 02 2022 16:56:59.
chill.vim File 8024 bytes August 02 2022 16:56:59.
chordpro.vim File 2521 bytes August 02 2022 16:56:59.
cl.vim File 3905 bytes August 02 2022 16:56:59.
clean.vim File 3151 bytes August 02 2022 16:56:59.
clipper.vim File 5576 bytes August 02 2022 16:56:59.
clojure.vim File 41933 bytes August 02 2022 16:56:59.
cmake.vim File 42148 bytes August 02 2022 16:56:59.
cmod.vim File 6271 bytes August 02 2022 16:56:59.
cmusrc.vim File 12921 bytes August 02 2022 16:56:59.
cobol.vim File 9920 bytes August 02 2022 16:56:59.
coco.vim File 1300 bytes August 02 2022 16:56:59.
colortest.vim File 3201 bytes August 02 2022 16:56:59.
conaryrecipe.vim File 8036 bytes August 02 2022 16:56:59.
conf.vim File 799 bytes August 02 2022 16:56:59.
config.vim File 2074 bytes August 02 2022 16:56:59.
context.vim File 6199 bytes August 02 2022 16:56:59.
cpp.vim File 2869 bytes August 02 2022 16:56:59.
crm.vim File 1197 bytes August 02 2022 16:56:59.
crontab.vim File 2215 bytes August 02 2022 16:56:59.
cs.vim File 6090 bytes August 02 2022 16:56:59.
csc.vim File 8449 bytes August 02 2022 16:56:59.
csdl.vim File 23755 bytes August 02 2022 16:56:59.
csh.vim File 6459 bytes August 02 2022 16:56:59.
csp.vim File 7152 bytes August 02 2022 16:56:59.
css.vim File 31941 bytes August 02 2022 16:56:59.
cterm.vim File 6406 bytes August 02 2022 16:56:59.
ctrlh.vim File 688 bytes August 02 2022 16:56:59.
cucumber.vim File 31887 bytes August 02 2022 16:56:59.
cuda.vim File 2691 bytes August 02 2022 16:56:59.
cupl.vim File 3873 bytes August 02 2022 16:56:59.
cuplsim.vim File 1916 bytes August 02 2022 16:56:59.
cvs.vim File 929 bytes August 02 2022 16:56:59.
cvsrc.vim File 1254 bytes August 02 2022 16:56:59.
cweb.vim File 2892 bytes August 02 2022 16:56:59.
cynlib.vim File 2548 bytes August 02 2022 16:56:59.
cynpp.vim File 1263 bytes August 02 2022 16:56:59.
d.vim File 28631 bytes August 02 2022 16:56:59.
datascript.vim File 3807 bytes August 02 2022 16:56:59.
dcd.vim File 1803 bytes August 02 2022 16:56:59.
dcl.vim File 6343 bytes August 02 2022 16:56:59.
debchangelog.vim File 2592 bytes August 02 2022 16:56:59.
debcontrol.vim File 8492 bytes August 02 2022 16:56:59.
debsources.vim File 2088 bytes August 02 2022 16:56:59.
def.vim File 1097 bytes August 02 2022 16:56:59.
denyhosts.vim File 7365 bytes August 02 2022 16:56:59.
desc.vim File 3077 bytes August 02 2022 16:56:59.
desktop.vim File 4144 bytes August 02 2022 16:56:59.
dictconf.vim File 3118 bytes August 02 2022 16:56:59.
dictdconf.vim File 6465 bytes August 02 2022 16:56:59.
diff.vim File 17282 bytes August 02 2022 16:56:59.
dircolors.vim File 6946 bytes August 02 2022 16:56:59.
dirpager.vim File 1787 bytes August 02 2022 16:56:59.
diva.vim File 4736 bytes August 02 2022 16:56:59.
django.vim File 3934 bytes August 02 2022 16:56:59.
dns.vim File 132 bytes August 02 2022 16:56:59.
dnsmasq.vim File 10067 bytes August 02 2022 16:56:59.
docbk.vim File 10321 bytes August 02 2022 16:56:59.
docbksgml.vim File 193 bytes August 02 2022 16:56:59.
docbkxml.vim File 191 bytes August 02 2022 16:56:59.
dockerfile.vim File 673 bytes August 02 2022 16:56:59.
dosbatch.vim File 6260 bytes August 02 2022 16:56:59.
dosini.vim File 1138 bytes August 02 2022 16:56:59.
dot.vim File 3018 bytes August 02 2022 16:56:59.
doxygen.vim File 38642 bytes August 02 2022 16:56:59.
dracula.vim File 2668 bytes August 02 2022 16:56:59.
dsl.vim File 1312 bytes August 02 2022 16:56:59.
dtd.vim File 4934 bytes August 02 2022 16:56:59.
dtml.vim File 16613 bytes August 02 2022 16:56:59.
dtrace.vim File 6442 bytes August 02 2022 16:56:59.
dts.vim File 1210 bytes August 02 2022 16:56:59.
dylan.vim File 3414 bytes August 02 2022 16:56:59.
dylanintr.vim File 1078 bytes August 02 2022 16:56:59.
dylanlid.vim File 664 bytes August 02 2022 16:56:59.
ecd.vim File 1229 bytes August 02 2022 16:56:59.
edif.vim File 1278 bytes August 02 2022 16:56:59.
eiffel.vim File 6926 bytes August 02 2022 16:56:59.
elf.vim File 2348 bytes August 02 2022 16:56:59.
elinks.vim File 10494 bytes August 02 2022 16:56:59.
elmfilt.vim File 2892 bytes August 02 2022 16:56:59.
erlang.vim File 10911 bytes August 02 2022 16:56:59.
eruby.vim File 2908 bytes August 02 2022 16:56:59.
esmtprc.vim File 938 bytes August 02 2022 16:56:59.
esqlc.vim File 2094 bytes August 02 2022 16:56:59.
esterel.vim File 3053 bytes August 02 2022 16:56:59.
eterm.vim File 19172 bytes August 02 2022 16:56:59.
euphoria3.vim File 6103 bytes August 02 2022 16:56:59.
euphoria4.vim File 14537 bytes August 02 2022 16:56:59.
eviews.vim File 5004 bytes August 02 2022 16:56:59.
exim.vim File 18085 bytes August 02 2022 16:56:59.
expect.vim File 3734 bytes August 02 2022 16:56:59.
exports.vim File 1747 bytes August 02 2022 16:56:59.
falcon.vim File 12013 bytes August 02 2022 16:56:59.
fan.vim File 5445 bytes August 02 2022 16:56:59.
fasm.vim File 8757 bytes August 02 2022 16:56:59.
fdcc.vim File 5648 bytes August 02 2022 16:56:59.
fetchmail.vim File 3308 bytes August 02 2022 16:56:59.
fgl.vim File 7274 bytes August 02 2022 16:56:59.
flexwiki.vim File 5435 bytes August 02 2022 16:56:59.
focexec.vim File 3525 bytes August 02 2022 16:56:59.
form.vim File 6385 bytes August 02 2022 16:56:59.
forth.vim File 10669 bytes August 02 2022 16:56:59.
fortran.vim File 32566 bytes August 02 2022 16:56:59.
foxpro.vim File 32856 bytes August 02 2022 16:56:59.
framescript.vim File 11679 bytes August 02 2022 16:56:59.
freebasic.vim File 10512 bytes August 02 2022 16:56:59.
fstab.vim File 15888 bytes August 02 2022 16:56:59.
fvwm.vim File 25026 bytes August 02 2022 16:56:59.
fvwm2m4.vim File 711 bytes August 02 2022 16:56:59.
gdb.vim File 4366 bytes August 02 2022 16:56:59.
gdmo.vim File 3299 bytes August 02 2022 16:56:59.
gedcom.vim File 2275 bytes August 02 2022 16:56:59.
git.vim File 4156 bytes August 02 2022 16:56:59.
gitcommit.vim File 4867 bytes August 02 2022 16:56:59.
gitconfig.vim File 1616 bytes August 02 2022 16:56:59.
gitolite.vim File 4454 bytes August 02 2022 16:56:59.
gitrebase.vim File 1852 bytes August 02 2022 16:56:59.
gitsendemail.vim File 580 bytes August 02 2022 16:56:59.
gkrellmrc.vim File 4116 bytes August 02 2022 16:56:59.
gnash.vim File 3462 bytes August 02 2022 16:56:59.
gnuplot.vim File 23663 bytes August 02 2022 16:56:59.
go.vim File 7904 bytes August 02 2022 16:56:59.
godoc.vim File 352 bytes August 02 2022 16:56:59.
gp.vim File 2965 bytes August 02 2022 16:56:59.
gpg.vim File 5591 bytes August 02 2022 16:56:59.
gprof.vim File 2117 bytes August 02 2022 16:56:59.
grads.vim File 1742 bytes August 02 2022 16:56:59.
gretl.vim File 3730 bytes August 02 2022 16:56:59.
groff.vim File 292 bytes August 02 2022 16:56:59.
groovy.vim File 22290 bytes August 02 2022 16:56:59.
group.vim File 1719 bytes August 02 2022 16:56:59.
grub.vim File 3882 bytes August 02 2022 16:56:59.
gsp.vim File 2031 bytes August 02 2022 16:56:59.
gtkrc.vim File 9318 bytes August 02 2022 16:56:59.
haml.vim File 7067 bytes August 02 2022 16:56:59.
hamster.vim File 13840 bytes August 02 2022 16:56:59.
haskell.vim File 8907 bytes August 02 2022 16:56:59.
haste.vim File 4994 bytes August 02 2022 16:56:59.
hastepreproc.vim File 1422 bytes August 02 2022 16:56:59.
hb.vim File 3158 bytes August 02 2022 16:56:59.
help.vim File 8348 bytes August 02 2022 16:56:59.
hercules.vim File 5720 bytes August 02 2022 16:56:59.
hex.vim File 4011 bytes August 02 2022 16:56:59.
hgcommit.vim File 1114 bytes August 02 2022 16:56:59.
hitest.vim File 3294 bytes August 02 2022 16:56:59.
hog.vim File 10672 bytes August 02 2022 16:56:59.
hostconf.vim File 3870 bytes August 02 2022 16:56:59.
hostsaccess.vim File 549 bytes August 02 2022 16:56:59.
html.vim File 17240 bytes August 02 2022 16:56:59.
htmlcheetah.vim File 488 bytes August 02 2022 16:56:59.
htmldjango.vim File 1011 bytes August 02 2022 16:56:59.
htmlm4.vim File 670 bytes August 02 2022 16:56:59.
htmlos.vim File 8313 bytes August 02 2022 16:56:59.
ia64.vim File 10547 bytes August 02 2022 16:56:59.
ibasic.vim File 7036 bytes August 02 2022 16:56:59.
icemenu.vim File 824 bytes August 02 2022 16:56:59.
icon.vim File 6976 bytes August 02 2022 16:56:59.
idl.vim File 19901 bytes August 02 2022 16:56:59.
idlang.vim File 13462 bytes August 02 2022 16:56:59.
indent.vim File 7171 bytes August 02 2022 16:56:59.
inform.vim File 19483 bytes August 02 2022 16:56:59.
initex.vim File 19224 bytes August 02 2022 16:56:59.
initng.vim File 3398 bytes August 02 2022 16:56:59.
inittab.vim File 2619 bytes August 02 2022 16:56:59.
ipfilter.vim File 1622 bytes August 02 2022 16:56:59.
ishd.vim File 27057 bytes August 02 2022 16:56:59.
iss.vim File 4988 bytes August 02 2022 16:56:59.
ist.vim File 2000 bytes August 02 2022 16:56:59.
j.vim File 9375 bytes August 02 2022 16:56:59.
jal.vim File 8963 bytes August 02 2022 16:56:59.
jam.vim File 26711 bytes August 02 2022 16:56:59.
jargon.vim File 611 bytes August 02 2022 16:56:59.
java.vim File 17979 bytes August 02 2022 16:56:59.
javacc.vim File 2256 bytes August 02 2022 16:56:59.
javascript.vim File 5084 bytes August 02 2022 16:56:59.
jess.vim File 6230 bytes August 02 2022 16:56:59.
jgraph.vim File 1212 bytes August 02 2022 16:56:59.
jovial.vim File 4107 bytes August 02 2022 16:56:59.
jproperties.vim File 5496 bytes August 02 2022 16:56:59.
json.vim File 6018 bytes August 02 2022 16:56:59.
jsp.vim File 2678 bytes August 02 2022 16:56:59.
kconfig.vim File 36304 bytes August 02 2022 16:56:59.
kivy.vim File 986 bytes August 02 2022 16:56:59.
kix.vim File 6329 bytes August 02 2022 16:56:59.
kscript.vim File 1985 bytes August 02 2022 16:56:59.
kwt.vim File 2454 bytes August 02 2022 16:56:59.
lace.vim File 4075 bytes August 02 2022 16:56:59.
latte.vim File 3511 bytes August 02 2022 16:56:59.
ld.vim File 2902 bytes August 02 2022 16:56:59.
ldapconf.vim File 13302 bytes August 02 2022 16:56:59.
ldif.vim File 1014 bytes August 02 2022 16:56:59.
less.vim File 4230 bytes August 02 2022 16:56:59.
lex.vim File 6728 bytes August 02 2022 16:56:59.
lftp.vim File 7471 bytes August 02 2022 16:56:59.
lhaskell.vim File 4435 bytes August 02 2022 16:56:59.
libao.vim File 636 bytes August 02 2022 16:56:59.
lifelines.vim File 6640 bytes August 02 2022 16:56:59.
lilo.vim File 10427 bytes August 02 2022 16:56:59.
limits.vim File 1317 bytes August 02 2022 16:56:59.
liquid.vim File 6184 bytes August 02 2022 16:56:59.
lisp.vim File 35810 bytes August 02 2022 16:56:59.
lite.vim File 4845 bytes August 02 2022 16:56:59.
litestep.vim File 6676 bytes August 02 2022 16:56:59.
loginaccess.vim File 4197 bytes August 02 2022 16:56:59.
logindefs.vim File 7537 bytes August 02 2022 16:56:59.
logtalk.vim File 16039 bytes August 02 2022 16:56:59.
lotos.vim File 2361 bytes August 02 2022 16:56:59.
lout.vim File 4325 bytes August 02 2022 16:56:59.
lpc.vim File 23138 bytes August 02 2022 16:56:59.
lprolog.vim File 3979 bytes August 02 2022 16:56:59.
lscript.vim File 12099 bytes August 02 2022 16:56:59.
lsl.vim File 15800 bytes August 02 2022 16:56:59.
lss.vim File 4870 bytes August 02 2022 16:56:59.
lua.vim File 14052 bytes August 02 2022 16:56:59.
lynx.vim File 6579 bytes August 02 2022 16:56:59.
m4.vim File 2693 bytes August 02 2022 16:56:59.
mail.vim File 6069 bytes August 02 2022 16:56:59.
mailaliases.vim File 2767 bytes August 02 2022 16:56:59.
mailcap.vim File 1135 bytes August 02 2022 16:56:59.
make.vim File 6197 bytes August 02 2022 16:56:59.
mallard.vim File 1726 bytes August 02 2022 16:56:59.
man.vim File 1590 bytes August 02 2022 16:56:59.
manconf.vim File 4344 bytes August 02 2022 16:56:59.
manual.vim File 909 bytes August 02 2022 16:56:59.
maple.vim File 28529 bytes August 02 2022 16:56:59.
markdown.vim File 8052 bytes August 02 2022 16:56:59.
masm.vim File 17225 bytes August 02 2022 16:56:59.
mason.vim File 3818 bytes August 02 2022 16:56:59.
master.vim File 1022 bytes August 02 2022 16:56:59.
matlab.vim File 4133 bytes August 02 2022 16:56:59.
maxima.vim File 18802 bytes August 02 2022 16:56:59.
mel.vim File 3406 bytes August 02 2022 16:56:59.
messages.vim File 2653 bytes August 02 2022 16:56:59.
mf.vim File 15423 bytes August 02 2022 16:56:59.
mgl.vim File 3724 bytes August 02 2022 16:56:59.
mgp.vim File 2000 bytes August 02 2022 16:56:59.
mib.vim File 2696 bytes August 02 2022 16:56:59.
mix.vim File 2942 bytes August 02 2022 16:56:59.
mma.vim File 11799 bytes August 02 2022 16:56:59.
mmix.vim File 4968 bytes August 02 2022 16:56:59.
mmp.vim File 1486 bytes August 02 2022 16:56:59.
modconf.vim File 1419 bytes August 02 2022 16:56:59.
model.vim File 1469 bytes August 02 2022 16:56:59.
modsim3.vim File 3623 bytes August 02 2022 16:56:59.
modula2.vim File 3225 bytes August 02 2022 16:56:59.
modula3.vim File 2012 bytes August 02 2022 16:56:59.
monk.vim File 10219 bytes August 02 2022 16:56:59.
moo.vim File 9234 bytes August 02 2022 16:56:59.
mp.vim File 44530 bytes August 02 2022 16:56:59.
mplayerconf.vim File 7487 bytes August 02 2022 16:56:59.
mrxvtrc.vim File 9603 bytes August 02 2022 16:56:59.
msidl.vim File 3464 bytes August 02 2022 16:56:59.
msmessages.vim File 6318 bytes August 02 2022 16:56:59.
msql.vim File 2390 bytes August 02 2022 16:56:59.
mupad.vim File 15476 bytes August 02 2022 16:56:59.
murphi.vim File 4619 bytes August 02 2022 16:56:59.
mush.vim File 13187 bytes August 02 2022 16:56:59.
muttrc.vim File 64055 bytes August 02 2022 16:56:59.
mysql.vim File 17609 bytes August 02 2022 16:56:59.
n1ql.vim File 12899 bytes August 02 2022 16:56:59.
named.vim File 9991 bytes August 02 2022 16:56:59.
nanorc.vim File 10620 bytes August 02 2022 16:56:59.
nasm.vim File 26285 bytes August 02 2022 16:56:59.
nastran.vim File 8504 bytes August 02 2022 16:56:59.
natural.vim File 6977 bytes August 02 2022 16:56:59.
ncf.vim File 13416 bytes August 02 2022 16:56:59.
neomuttrc.vim File 79227 bytes August 02 2022 16:56:59.
netrc.vim File 1934 bytes August 02 2022 16:56:59.
netrw.vim File 7219 bytes August 02 2022 16:56:59.
ninja.vim File 2889 bytes August 02 2022 16:56:59.
nosyntax.vim File 755 bytes August 02 2022 16:56:59.
nqc.vim File 14068 bytes August 02 2022 16:56:59.
nroff.vim File 7775 bytes August 02 2022 16:56:59.
nsis.vim File 33906 bytes August 02 2022 16:56:59.
obj.vim File 2786 bytes August 02 2022 16:56:59.
objc.vim File 41720 bytes August 02 2022 16:56:59.
objcpp.vim File 600 bytes August 02 2022 16:56:59.
ocaml.vim File 13541 bytes August 02 2022 16:56:59.
occam.vim File 4316 bytes August 02 2022 16:56:59.
omnimark.vim File 6377 bytes August 02 2022 16:56:59.
openroad.vim File 13979 bytes August 02 2022 16:56:59.
opl.vim File 4128 bytes August 02 2022 16:56:59.
ora.vim File 27141 bytes August 02 2022 16:56:59.
pamconf.vim File 5546 bytes August 02 2022 16:56:59.
papp.vim File 3789 bytes August 02 2022 16:56:59.
pascal.vim File 15008 bytes August 02 2022 16:56:59.
passwd.vim File 2443 bytes August 02 2022 16:56:59.
pcap.vim File 1496 bytes August 02 2022 16:56:59.
pccts.vim File 4093 bytes August 02 2022 16:56:59.
pdf.vim File 3539 bytes August 02 2022 16:56:59.
perl.vim File 38470 bytes August 02 2022 16:56:59.
perl6.vim File 74127 bytes August 02 2022 16:56:59.
pf.vim File 5294 bytes August 02 2022 16:56:59.
pfmain.vim File 92737 bytes August 02 2022 16:56:59.
php.vim File 80429 bytes August 02 2022 16:56:59.
phtml.vim File 151 bytes August 02 2022 16:56:59.
pic.vim File 3333 bytes August 02 2022 16:56:59.
pike.vim File 21807 bytes August 02 2022 16:56:59.
pilrc.vim File 5311 bytes August 02 2022 16:56:59.
pine.vim File 15411 bytes August 02 2022 16:56:59.
pinfo.vim File 5296 bytes August 02 2022 16:56:59.
plaintex.vim File 10301 bytes August 02 2022 16:56:59.
pli.vim File 13222 bytes August 02 2022 16:56:59.
plm.vim File 5361 bytes August 02 2022 16:56:59.
plp.vim File 1267 bytes August 02 2022 16:56:59.
plsql.vim File 12918 bytes August 02 2022 16:56:59.
po.vim File 6393 bytes August 02 2022 16:56:59.
pod.vim File 7283 bytes August 02 2022 16:56:59.
postscr.vim File 46133 bytes August 02 2022 16:56:59.
pov.vim File 9057 bytes August 02 2022 16:56:59.
povini.vim File 3488 bytes August 02 2022 16:56:59.
ppd.vim File 868 bytes August 02 2022 16:56:59.
ppwiz.vim File 2780 bytes August 02 2022 16:56:59.
prescribe.vim File 2383 bytes August 02 2022 16:56:59.
privoxy.vim File 3579 bytes August 02 2022 16:56:59.
procmail.vim File 2019 bytes August 02 2022 16:56:59.
progress.vim File 31748 bytes August 02 2022 16:56:59.
prolog.vim File 4360 bytes August 02 2022 16:56:59.
promela.vim File 1728 bytes August 02 2022 16:56:59.
proto.vim File 2933 bytes August 02 2022 16:56:59.
protocols.vim File 1429 bytes August 02 2022 16:56:59.
psf.vim File 4290 bytes August 02 2022 16:56:59.
ptcap.vim File 4128 bytes August 02 2022 16:56:59.
purifylog.vim File 3357 bytes August 02 2022 16:56:59.
pyrex.vim File 1663 bytes August 02 2022 16:56:59.
python.vim File 14280 bytes August 02 2022 16:56:59.
qf.vim File 596 bytes August 02 2022 16:56:59.
quake.vim File 8554 bytes August 02 2022 16:56:59.
r.vim File 14316 bytes August 02 2022 16:56:59.
racc.vim File 5619 bytes August 02 2022 16:56:59.
radiance.vim File 7155 bytes August 02 2022 16:56:59.
ratpoison.vim File 17221 bytes August 02 2022 16:56:59.
rc.vim File 10217 bytes August 02 2022 16:56:59.
rcs.vim File 2133 bytes August 02 2022 16:56:59.
rcslog.vim File 557 bytes August 02 2022 16:56:59.
readline.vim File 16999 bytes August 02 2022 16:56:59.
rebol.vim File 7167 bytes August 02 2022 16:56:59.
redif.vim File 87942 bytes August 02 2022 16:56:59.
registry.vim File 3355 bytes August 02 2022 16:56:59.
remind.vim File 2713 bytes August 02 2022 16:56:59.
resolv.vim File 3019 bytes August 02 2022 16:56:59.
reva.vim File 7581 bytes August 02 2022 16:56:59.
rexx.vim File 15331 bytes August 02 2022 16:56:59.
rhelp.vim File 12134 bytes August 02 2022 16:56:59.
rib.vim File 2192 bytes August 02 2022 16:56:59.
rmd.vim File 4406 bytes August 02 2022 16:56:59.
rnc.vim File 2263 bytes August 02 2022 16:56:59.
rng.vim File 817 bytes August 02 2022 16:56:59.
rnoweb.vim File 1908 bytes August 02 2022 16:56:59.
robots.vim File 1529 bytes August 02 2022 16:56:59.
rpcgen.vim File 1666 bytes August 02 2022 16:56:59.
rpl.vim File 25699 bytes August 02 2022 16:56:59.
rrst.vim File 1305 bytes August 02 2022 16:56:59.
rst.vim File 8834 bytes August 02 2022 16:56:59.
rtf.vim File 2330 bytes August 02 2022 16:56:59.
ruby.vim File 40643 bytes August 02 2022 16:56:59.
rust.vim File 16612 bytes August 02 2022 16:56:59.
samba.vim File 6131 bytes August 02 2022 16:56:59.
sas.vim File 34087 bytes August 02 2022 16:56:59.
sass.vim File 6323 bytes August 02 2022 16:56:59.
sather.vim File 3490 bytes August 02 2022 16:56:59.
sbt.vim File 880 bytes August 02 2022 16:56:59.
scala.vim File 11307 bytes August 02 2022 16:56:59.
scheme.vim File 19330 bytes August 02 2022 16:56:59.
scilab.vim File 3210 bytes August 02 2022 16:56:59.
screen.vim File 9104 bytes August 02 2022 16:56:59.
scss.vim File 409 bytes August 02 2022 16:56:59.
sd.vim File 2223 bytes August 02 2022 16:56:59.
sdc.vim File 1391 bytes August 02 2022 16:56:59.
sdl.vim File 6563 bytes August 02 2022 16:56:59.
sed.vim File 5033 bytes August 02 2022 16:56:59.
sendpr.vim File 905 bytes August 02 2022 16:56:59.
sensors.vim File 1513 bytes August 02 2022 16:56:59.
services.vim File 1823 bytes August 02 2022 16:56:59.
setserial.vim File 5229 bytes August 02 2022 16:56:59.
sgml.vim File 8866 bytes August 02 2022 16:56:59.
sgmldecl.vim File 2041 bytes August 02 2022 16:56:59.
sgmllnx.vim File 1851 bytes August 02 2022 16:56:59.
sh.vim File 40497 bytes August 02 2022 16:56:59.
sicad.vim File 18475 bytes August 02 2022 16:56:59.
sieve.vim File 1671 bytes August 02 2022 16:56:59.
simula.vim File 3371 bytes August 02 2022 16:56:59.
sinda.vim File 3666 bytes August 02 2022 16:56:59.
sindacmp.vim File 1274 bytes August 02 2022 16:56:59.
sindaout.vim File 1961 bytes August 02 2022 16:56:59.
sisu.vim File 22180 bytes August 02 2022 16:56:59.
skill.vim File 25769 bytes August 02 2022 16:56:59.
sl.vim File 4084 bytes August 02 2022 16:56:59.
slang.vim File 3302 bytes August 02 2022 16:56:59.
slice.vim File 2928 bytes August 02 2022 16:56:59.
slpconf.vim File 11791 bytes August 02 2022 16:56:59.
slpreg.vim File 5346 bytes August 02 2022 16:56:59.
slpspi.vim File 1181 bytes August 02 2022 16:56:59.
slrnrc.vim File 12811 bytes August 02 2022 16:56:59.
slrnsc.vim File 3098 bytes August 02 2022 16:56:59.
sm.vim File 2850 bytes August 02 2022 16:56:59.
smarty.vim File 2883 bytes August 02 2022 16:56:59.
smcl.vim File 12043 bytes August 02 2022 16:56:59.
smil.vim File 5616 bytes August 02 2022 16:56:59.
smith.vim File 793 bytes August 02 2022 16:56:59.
sml.vim File 9328 bytes August 02 2022 16:56:59.
snnsnet.vim File 2482 bytes August 02 2022 16:56:59.
snnspat.vim File 2228 bytes August 02 2022 16:56:59.
snnsres.vim File 1933 bytes August 02 2022 16:56:59.
snobol4.vim File 5334 bytes August 02 2022 16:56:59.
spec.vim File 12628 bytes August 02 2022 16:56:59.
specman.vim File 7345 bytes August 02 2022 16:56:59.
spice.vim File 2243 bytes August 02 2022 16:56:59.
splint.vim File 15786 bytes August 02 2022 16:56:59.
spup.vim File 13926 bytes August 02 2022 16:56:59.
spyce.vim File 4455 bytes August 02 2022 16:56:59.
sql.vim File 1120 bytes August 02 2022 16:56:59.
sqlanywhere.vim File 41929 bytes August 02 2022 16:56:59.
sqlforms.vim File 6734 bytes August 02 2022 16:56:59.
sqlhana.vim File 11027 bytes August 02 2022 16:56:59.
sqlinformix.vim File 5901 bytes August 02 2022 16:56:59.
sqlj.vim File 2970 bytes August 02 2022 16:56:59.
sqloracle.vim File 7243 bytes August 02 2022 16:56:59.
sqr.vim File 13012 bytes August 02 2022 16:56:59.
squid.vim File 6931 bytes August 02 2022 16:56:59.
srec.vim File 3815 bytes August 02 2022 16:56:59.
sshconfig.vim File 10579 bytes August 02 2022 16:56:59.
sshdconfig.vim File 11092 bytes August 02 2022 16:56:59.
st.vim File 2752 bytes August 02 2022 16:56:59.
stata.vim File 27056 bytes August 02 2022 16:56:59.
stp.vim File 5427 bytes August 02 2022 16:56:59.
strace.vim File 1970 bytes August 02 2022 16:56:59.
sudoers.vim File 22053 bytes August 02 2022 16:56:59.
svg.vim File 436 bytes August 02 2022 16:56:59.
svn.vim File 1852 bytes August 02 2022 16:56:59.
syncolor.vim File 4093 bytes August 02 2022 16:56:59.
synload.vim File 1984 bytes August 02 2022 16:56:59.
syntax.vim File 1228 bytes August 02 2022 16:56:59.
sysctl.vim File 1153 bytes August 02 2022 16:56:59.
systemd.vim File 184 bytes August 02 2022 16:56:59.
systemverilog.vim File 3539 bytes August 02 2022 16:56:59.
tads.vim File 6862 bytes August 02 2022 16:56:59.
tags.vim File 1155 bytes August 02 2022 16:56:59.
tak.vim File 2920 bytes August 02 2022 16:56:59.
takcmp.vim File 1593 bytes August 02 2022 16:56:59.
takout.vim File 2000 bytes August 02 2022 16:56:59.
tap.vim File 4362 bytes August 02 2022 16:56:59.
tar.vim File 373 bytes August 02 2022 16:56:59.
taskdata.vim File 1207 bytes August 02 2022 16:56:59.
taskedit.vim File 1130 bytes August 02 2022 16:56:59.
tasm.vim File 5672 bytes August 02 2022 16:56:59.
tcl.vim File 17286 bytes August 02 2022 16:56:59.
tcsh.vim File 13269 bytes August 02 2022 16:56:59.
teraterm.vim File 4938 bytes August 02 2022 16:56:59.
terminfo.vim File 4803 bytes August 02 2022 16:56:59.
tex.vim File 66689 bytes August 02 2022 16:56:59.
texinfo.vim File 25568 bytes August 02 2022 16:56:59.
texmf.vim File 2281 bytes August 02 2022 16:56:59.
tf.vim File 6904 bytes August 02 2022 16:56:59.
tidy.vim File 5927 bytes August 02 2022 16:56:59.
tilde.vim File 1538 bytes August 02 2022 16:56:59.
tli.vim File 1658 bytes August 02 2022 16:56:59.
tmux.vim File 6413 bytes August 02 2022 16:56:59.
tpp.vim File 3481 bytes August 02 2022 16:56:59.
trasys.vim File 5033 bytes August 02 2022 16:56:59.
treetop.vim File 3668 bytes August 02 2022 16:56:59.
trustees.vim File 1546 bytes August 02 2022 16:56:59.
tsalt.vim File 8325 bytes August 02 2022 16:56:59.
tsscl.vim File 5120 bytes August 02 2022 16:56:59.
tssgm.vim File 2787 bytes August 02 2022 16:56:59.
tssop.vim File 1785 bytes August 02 2022 16:56:59.
tt2.vim File 7923 bytes August 02 2022 16:56:59.
tt2html.vim File 516 bytes August 02 2022 16:56:59.
tt2js.vim File 522 bytes August 02 2022 16:56:59.
uc.vim File 6634 bytes August 02 2022 16:56:59.
udevconf.vim File 1227 bytes August 02 2022 16:56:59.
udevperm.vim File 2409 bytes August 02 2022 16:56:59.
udevrules.vim File 6960 bytes August 02 2022 16:56:59.
uil.vim File 2821 bytes August 02 2022 16:56:59.
updatedb.vim File 1220 bytes August 02 2022 16:56:59.
upstart.vim File 3151 bytes August 02 2022 16:56:59.
upstreamdat.vim File 14048 bytes August 02 2022 16:56:59.
upstreaminstalllog.vim File 971 bytes August 02 2022 16:56:59.
upstreamlog.vim File 2620 bytes August 02 2022 16:56:59.
upstreamrpt.vim File 14197 bytes August 02 2022 16:56:59.
usserverlog.vim File 3118 bytes August 02 2022 16:56:59.
usw2kagtlog.vim File 2702 bytes August 02 2022 16:56:59.
valgrind.vim File 3250 bytes August 02 2022 16:56:59.
vb.vim File 20299 bytes August 02 2022 16:56:59.
vera.vim File 19552 bytes August 02 2022 16:56:59.
verilog.vim File 5055 bytes August 02 2022 16:56:59.
verilogams.vim File 6083 bytes August 02 2022 16:56:59.
vgrindefs.vim File 1214 bytes August 02 2022 16:56:59.
vhdl.vim File 9389 bytes August 02 2022 16:56:59.
vim.vim File 68220 bytes August 02 2022 16:56:59.
viminfo.vim File 1241 bytes August 02 2022 16:56:59.
virata.vim File 11613 bytes August 02 2022 16:56:59.
vmasm.vim File 8512 bytes August 02 2022 16:56:59.
voscm.vim File 6975 bytes August 02 2022 16:56:59.
vrml.vim File 12788 bytes August 02 2022 16:56:59.
vroom.vim File 3492 bytes August 02 2022 16:56:59.
vsejcl.vim File 1004 bytes August 02 2022 16:56:59.
wdiff.vim File 716 bytes August 02 2022 16:56:59.
web.vim File 1114 bytes August 02 2022 16:56:59.
webmacro.vim File 3130 bytes August 02 2022 16:56:59.
wget.vim File 3961 bytes August 02 2022 16:56:59.
whitespace.vim File 357 bytes August 02 2022 16:56:59.
winbatch.vim File 12152 bytes August 02 2022 16:56:59.
wml.vim File 5731 bytes August 02 2022 16:56:59.
wsh.vim File 1242 bytes August 02 2022 16:56:59.
wsml.vim File 5400 bytes August 02 2022 16:56:59.
wvdial.vim File 1093 bytes August 02 2022 16:56:59.
xbl.vim File 568 bytes August 02 2022 16:56:59.
xdefaults.vim File 5887 bytes August 02 2022 16:56:59.
xf86conf.vim File 14725 bytes August 02 2022 16:56:59.
xhtml.vim File 186 bytes August 02 2022 16:56:59.
xinetd.vim File 14208 bytes August 02 2022 16:56:59.
xkb.vim File 3320 bytes August 02 2022 16:56:59.
xmath.vim File 10829 bytes August 02 2022 16:56:59.
xml.vim File 8609 bytes August 02 2022 16:56:59.
xmodmap.vim File 46511 bytes August 02 2022 16:56:59.
xpm.vim File 4403 bytes August 02 2022 16:56:59.
xpm2.vim File 4697 bytes August 02 2022 16:56:59.
xquery.vim File 7191 bytes August 02 2022 16:56:59.
xs.vim File 246745 bytes August 02 2022 16:56:59.
xsd.vim File 2125 bytes August 02 2022 16:56:59.
xslt.vim File 2166 bytes August 02 2022 16:56:59.
xxd.vim File 766 bytes August 02 2022 16:56:59.
yacc.vim File 5513 bytes August 02 2022 16:56:59.
yaml.vim File 12864 bytes August 02 2022 16:56:59.
z8a.vim File 2894 bytes August 02 2022 16:56:59.
zimbu.vim File 6446 bytes August 02 2022 16:56:59.
zsh.vim File 23489 bytes August 02 2022 16:56:59.

Reading File: //usr/share/vim/vim80/syntax/tex.vim

" Vim syntax file
" Language:	TeX
" Maintainer:	Charles E. Campbell <NdrchipO@ScampbellPfamily.AbizM>
" Last Change:	Mar 30, 2018
" Version:	109
" 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 || (v:version == 704 && has("patch-7.4.1142"))
 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,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,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,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,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,texZone,texInputFile,texOption,texStyleStatement,@Spell,texStyleMatcher
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\>"
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		"\\emph\>"

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
   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
   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:
   syn region texZone		start="\\begin{lstlisting}"		end="\\end{lstlisting}\|%stopzone\>"	contains=@Spell
   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'		, '≍'],
    \ ['backepsilon'	, '∍'],
    \ ['backsimeq'	, '≃'],
    \ ['backslash'	, '∖'],
    \ ['barwedge'	, '⊼'],
    \ ['because'	, '∵'],
    \ ['beth'           , 'ܒ'],
    \ ['between'	, '≬'],
    \ ['bigcap'		, '∩'],
    \ ['bigcirc'	, '○'],
    \ ['bigcup'		, '∪'],
    \ ['bigodot'	, '⊙'],
    \ ['bigoplus'	, '⊕'],
    \ ['bigotimes'	, '⊗'],
    \ ['bigsqcup'	, '⊔'],
    \ ['bigtriangledown', '∇'],
    \ ['bigtriangleup'	, '∆'],
    \ ['bigvee'		, '⋁'],
    \ ['bigwedge'	, '⋀'],
    \ ['blacksquare'	, '∎'],
    \ ['bot'		, '⊥'],
    \ ['bowtie'	        , '⋈'],
    \ ['boxdot'		, '⊡'],
    \ ['boxminus'	, '⊟'],
    \ ['boxplus'	, '⊞'],
    \ ['boxtimes'	, '⊠'],
    \ ['Box'            , '☐'],
    \ ['bullet'	        , '•'],
    \ ['bumpeq'		, '≏'],
    \ ['Bumpeq'		, '≎'],
    \ ['cap'		, '∩'],
    \ ['Cap'		, '⋒'],
    \ ['cdot'		, '·'],
    \ ['cdots'		, '⋯'],
    \ ['circ'		, '∘'],
    \ ['circeq'		, '≗'],
    \ ['circlearrowleft', '↺'],
    \ ['circlearrowright', '↻'],
    \ ['circledast'	, '⊛'],
    \ ['circledcirc'	, '⊚'],
    \ ['clubsuit'	, '♣'],
    \ ['complement'	, '∁'],
    \ ['cong'		, '≅'],
    \ ['coprod'		, '∐'],
    \ ['copyright'	, '©'],
    \ ['cup'		, '∪'],
    \ ['Cup'		, '⋓'],
    \ ['curlyeqprec'	, '⋞'],
    \ ['curlyeqsucc'	, '⋟'],
    \ ['curlyvee'	, '⋎'],
    \ ['curlywedge'	, '⋏'],
    \ ['dagger'	        , '†'],
    \ ['dashv'		, '⊣'],
    \ ['ddagger'	, '‡'],
    \ ['ddots'	        , '⋱'],
    \ ['diamond'	, '⋄'],
    \ ['diamondsuit'	, '♢'],
    \ ['div'		, '÷'],
    \ ['doteq'		, '≐'],
    \ ['doteqdot'	, '≑'],
    \ ['dotplus'	, '∔'],
    \ ['dots'		, '…'],
    \ ['dotsb'		, '⋯'],
    \ ['dotsc'		, '…'],
    \ ['dotsi'		, '⋯'],
    \ ['dotso'		, '…'],
    \ ['doublebarwedge'	, '⩞'],
    \ ['downarrow'	, '↓'],
    \ ['Downarrow'	, '⇓'],
    \ ['ell'		, 'ℓ'],
    \ ['emptyset'	, '∅'],
    \ ['eqcirc'		, '≖'],
    \ ['eqsim'		, '≂'],
    \ ['eqslantgtr'	, '⪖'],
    \ ['eqslantless'	, '⪕'],
    \ ['equiv'		, '≡'],
    \ ['eth'            , 'ð'],
    \ ['exists'		, '∃'],
    \ ['fallingdotseq'	, '≒'],
    \ ['flat'		, '♭'],
    \ ['forall'		, '∀'],
    \ ['frown'		, '⁔'],
    \ ['ge'		, '≥'],
    \ ['geq'		, '≥'],
    \ ['geqq'		, '≧'],
    \ ['gets'		, '←'],
    \ ['gimel'          , 'ℷ'],
    \ ['gg'		, '⟫'],
    \ ['gneqq'		, '≩'],
    \ ['gtrdot'		, '⋗'],
    \ ['gtreqless'	, '⋛'],
    \ ['gtrless'	, '≷'],
    \ ['gtrsim'		, '≳'],
    \ ['hbar'		, 'ℏ'],
    \ ['heartsuit'	, '♡'],
    \ ['hookleftarrow'	, '↩'],
    \ ['hookrightarrow'	, '↪'],
    \ ['iff'            , '⇔'],
    \ ['iiint'		, '∭'],
    \ ['iint'		, '∬'],
    \ ['Im'		, 'ℑ'],
    \ ['imath'		, 'ɩ'],
    \ ['implies'	, '⇒'],
    \ ['in'		, '∈'],
    \ ['infty'		, '∞'],
    \ ['int'		, '∫'],
    \ ['jmath'		, '𝚥'],
    \ ['land'		, '∧'],
    \ ['lceil'		, '⌈'],
    \ ['ldots'		, '…'],
    \ ['le'		, '≤'],
    \ ['leadsto'	, '↝'],
    \ ['left('		, '('],
    \ ['left\['		, '['],
    \ ['left\\{'	, '{'],
    \ ['leftarrow'	, '←'],
    \ ['Leftarrow'	, '⇐'],
    \ ['leftarrowtail'	, '↢'],
    \ ['leftharpoondown', '↽'],
    \ ['leftharpoonup'	, '↼'],
    \ ['leftrightarrow'	, '↔'],
    \ ['Leftrightarrow'	, '⇔'],
    \ ['leftrightsquigarrow', '↭'],
    \ ['leftthreetimes'	, '⋋'],
    \ ['leq'		, '≤'],
    \ ['leq'		, '≤'],
    \ ['leqq'		, '≦'],
    \ ['lessdot'	, '⋖'],
    \ ['lesseqgtr'	, '⋚'],
    \ ['lesssim'	, '≲'],
    \ ['lfloor'		, '⌊'],
    \ ['ll'		, '≪'],
    \ ['lmoustache'     , '╭'],
    \ ['lneqq'		, '≨'],
    \ ['lor'		, '∨'],
    \ ['ltimes'		, '⋉'],
    \ ['mapsto'		, '↦'],
    \ ['measuredangle'	, '∡'],
    \ ['mid'		, '∣'],
    \ ['models'		, '╞'],
    \ ['mp'		, '∓'],
    \ ['nabla'		, '∇'],
    \ ['natural'	, '♮'],
    \ ['ncong'		, '≇'],
    \ ['ne'		, '≠'],
    \ ['nearrow'	, '↗'],
    \ ['neg'		, '¬'],
    \ ['neq'		, '≠'],
    \ ['nexists'	, '∄'],
    \ ['ngeq'		, '≱'],
    \ ['ngeqq'		, '≱'],
    \ ['ngtr'		, '≯'],
    \ ['ni'		, '∋'],
    \ ['nleftarrow'	, '↚'],
    \ ['nLeftarrow'	, '⇍'],
    \ ['nLeftrightarrow', '⇎'],
    \ ['nleq'		, '≰'],
    \ ['nleqq'		, '≰'],
    \ ['nless'		, '≮'],
    \ ['nmid'		, '∤'],
    \ ['notin'		, '∉'],
    \ ['nparallel'      , '∦'],
    \ ['nprec'		, '⊀'],
    \ ['nrightarrow'	, '↛'],
    \ ['nRightarrow'	, '⇏'],
    \ ['nsim'		, '≁'],
    \ ['nsucc'		, '⊁'],
    \ ['ntriangleleft'	, '⋪'],
    \ ['ntrianglelefteq', '⋬'],
    \ ['ntriangleright'	, '⋫'],
    \ ['ntrianglerighteq', '⋭'],
    \ ['nvdash'		, '⊬'],
    \ ['nvDash'		, '⊭'],
    \ ['nVdash'		, '⊮'],
    \ ['nwarrow'	, '↖'],
    \ ['odot'		, '⊙'],
    \ ['oint'		, '∮'],
    \ ['ominus'		, '⊖'],
    \ ['oplus'		, '⊕'],
    \ ['oslash'		, '⊘'],
    \ ['otimes'		, '⊗'],
    \ ['owns'		, '∋'],
    \ ['P'	        , '¶'],
    \ ['parallel'	, '║'],
    \ ['partial'	, '∂'],
    \ ['perp'		, '⊥'],
    \ ['pitchfork'	, '⋔'],
    \ ['pm'		, '±'],
    \ ['prec'		, '≺'],
    \ ['precapprox'	, '⪷'],
    \ ['preccurlyeq'	, '≼'],
    \ ['preceq'		, '⪯'],
    \ ['precnapprox'	, '⪹'],
    \ ['precneqq'	, '⪵'],
    \ ['precsim'	, '≾'],
    \ ['prime'		, '′'],
    \ ['prod'		, '∏'],
    \ ['propto'		, '∝'],
    \ ['rceil'		, '⌉'],
    \ ['Re'		, 'ℜ'],
    \ ['rfloor'		, '⌋'],
    \ ['right)'		, ')'],
    \ ['right]'		, ']'],
    \ ['right\\}'	, '}'],
    \ ['rightarrow'	, '→'],
    \ ['Rightarrow'	, '⇒'],
    \ ['rightarrowtail'	, '↣'],
    \ ['rightleftharpoons', '⇌'],
    \ ['rightsquigarrow', '↝'],
    \ ['rightthreetimes', '⋌'],
    \ ['risingdotseq'	, '≓'],
    \ ['rmoustache'     , '╮'],
    \ ['rtimes'		, '⋊'],
    \ ['S'	        , '§'],
    \ ['searrow'	, '↘'],
    \ ['setminus'	, '∖'],
    \ ['sharp'		, '♯'],
    \ ['sim'		, '∼'],
    \ ['simeq'		, '⋍'],
    \ ['smile'		, '‿'],
    \ ['spadesuit'	, '♠'],
    \ ['sphericalangle'	, '∢'],
    \ ['sqcap'		, '⊓'],
    \ ['sqcup'		, '⊔'],
    \ ['sqsubset'	, '⊏'],
    \ ['sqsubseteq'	, '⊑'],
    \ ['sqsupset'	, '⊐'],
    \ ['sqsupseteq'	, '⊒'],
    \ ['star'		, '✫'],
    \ ['subset'		, '⊂'],
    \ ['Subset'		, '⋐'],
    \ ['subseteq'	, '⊆'],
    \ ['subseteqq'	, '⫅'],
    \ ['subsetneq'	, '⊊'],
    \ ['subsetneqq'	, '⫋'],
    \ ['succ'		, '≻'],
    \ ['succapprox'	, '⪸'],
    \ ['succcurlyeq'	, '≽'],
    \ ['succeq'		, '⪰'],
    \ ['succnapprox'	, '⪺'],
    \ ['succneqq'	, '⪶'],
    \ ['succsim'	, '≿'],
    \ ['sum'		, '∑'],
    \ ['supset'		, '⊃'],
    \ ['Supset'		, '⋑'],
    \ ['supseteq'	, '⊇'],
    \ ['supseteqq'	, '⫆'],
    \ ['supsetneq'	, '⊋'],
    \ ['supsetneqq'	, '⫌'],
    \ ['surd'		, '√'],
    \ ['swarrow'	, '↙'],
    \ ['therefore'	, '∴'],
    \ ['times'		, '×'],
    \ ['to'		, '→'],
    \ ['top'		, '⊤'],
    \ ['triangle'	, '∆'],
    \ ['triangleleft'	, '⊲'],
    \ ['trianglelefteq'	, '⊴'],
    \ ['triangleq'	, '≜'],
    \ ['triangleright'	, '⊳'],
    \ ['trianglerighteq', '⊵'],
    \ ['twoheadleftarrow', '↞'],
    \ ['twoheadrightarrow', '↠'],
    \ ['ulcorner'       , '⌜'],
    \ ['uparrow'	, '↑'],
    \ ['Uparrow'	, '⇑'],
    \ ['updownarrow'	, '↕'],
    \ ['Updownarrow'	, '⇕'],
    \ ['urcorner'       , '⌝'],
    \ ['varnothing'	, '∅'],
    \ ['vartriangle'	, '∆'],
    \ ['vdash'		, '⊢'],
    \ ['vDash'		, '⊨'],
    \ ['Vdash'		, '⊩'],
    \ ['vdots'		, '⋮'],
    \ ['vee'		, '∨'],
    \ ['veebar'		, '⊻'],
    \ ['Vvdash'		, '⊪'],
    \ ['wedge'		, '∧'],
    \ ['wp'		, '℘'],
    \ ['wr'		, '≀']]
"    \ ['jmath'		, 'X']
"    \ ['uminus'	, 'X']
"    \ ['uplus'		, 'X']
  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','\\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','\\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 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

SILENT KILLER Tool