/usr/share/vim/vim82/syntax
NameSizeModeActions
2html.vim754190644editdlrm
8th.vim286880644editdlrm
a2ps.vim24260644editdlrm
a65.vim63940644editdlrm
aap.vim56970644editdlrm
abap.vim91550644editdlrm
abaqus.vim10940644editdlrm
abc.vim18420644editdlrm
abel.vim51140644editdlrm
acedb.vim48710644editdlrm
ada.vim130500644editdlrm
aflex.vim43680644editdlrm
ahdl.vim27710644editdlrm
aidl.vim6290644editdlrm
alsaconf.vim15460644editdlrm
amiga.vim29690644editdlrm
aml.vim241370644editdlrm
ampl.vim41080644editdlrm
ant.vim58160644editdlrm
antlr.vim17930644editdlrm
apache.vim153740644editdlrm
apachestyle.vim14170644editdlrm
aptconf.vim222280644editdlrm
arch.vim11490644editdlrm
arduino.vim20310644editdlrm
art.vim12970644editdlrm
asciidoc.vim111460644editdlrm
asm.vim60370644editdlrm
asm68k.vim142800644editdlrm
asmh8300.vim17180644editdlrm
asn.vim25780644editdlrm
aspperl.vim8110644editdlrm
aspvbs.vim90990644editdlrm
asterisk.vim56290644editdlrm
asteriskvm.vim23320644editdlrm
atlas.vim26020644editdlrm
autodoc.vim37300644editdlrm
autohotkey.vim118610644editdlrm
autoit.vim480140644editdlrm
automake.vim39380644editdlrm
ave.vim19000644editdlrm
avra.vim26830644editdlrm
awk.vim81910644editdlrm
ayacc.vim25850644editdlrm
b.vim49020644editdlrm
baan.vim735950644editdlrm
bash.vim3710644editdlrm
basic.vim83060644editdlrm
bc.vim17910644editdlrm
bdf.vim38410644editdlrm
bib.vim60040644editdlrm
bindzone.vim49060644editdlrm
blank.vim7940644editdlrm
bsdl.vim3770644editdlrm
bst.vim28250644editdlrm
btm.vim92850644editdlrm
bzl.vim3740644editdlrm
bzr.vim15600644editdlrm
c.vim276380644editdlrm
cabal.vim73630644editdlrm
cabalconfig.vim11790644editdlrm
cabalproject.vim9440644editdlrm
calendar.vim50420644editdlrm
catalog.vim9210644editdlrm
cdl.vim30920644editdlrm
cdrdaoconf.vim36470644editdlrm
cdrtoc.vim227560644editdlrm
cf.vim186440644editdlrm
cfg.vim13510644editdlrm
ch.vim9220644editdlrm
chaiscript.vim28870644editdlrm
change.vim9010644editdlrm
changelog.vim20970644editdlrm
chaskell.vim3330644editdlrm
cheetah.vim17520644editdlrm
chicken.vim26180644editdlrm
chill.vim80240644editdlrm
chordpro.vim25210644editdlrm
cl.vim39050644editdlrm
clean.vim31510644editdlrm
clipper.vim55760644editdlrm
clojure.vim464890644editdlrm
cmake.vim421480644editdlrm
cmod.vim62710644editdlrm
cmusrc.vim129210644editdlrm
cobol.vim135920644editdlrm
coco.vim13000644editdlrm
colortest.vim32010644editdlrm
conaryrecipe.vim80360644editdlrm
conf.vim7990644editdlrm
config.vim20740644editdlrm
context.vim61990644editdlrm
cpp.vim35840644editdlrm
crm.vim11970644editdlrm
crontab.vim22150644editdlrm
cs.vim109470644editdlrm
csc.vim84490644editdlrm
csdl.vim237550644editdlrm
csh.vim64600644editdlrm
csp.vim71520644editdlrm
css.vim329380644editdlrm
cterm.vim64060644editdlrm
ctrlh.vim6880644editdlrm
cucumber.vim318870644editdlrm
cuda.vim26910644editdlrm
cupl.vim38730644editdlrm
cuplsim.vim19160644editdlrm
cvs.vim8820644editdlrm
cvsrc.vim12540644editdlrm
cweb.vim28920644editdlrm
cynlib.vim25480644editdlrm
cynpp.vim12630644editdlrm
d.vim286310644editdlrm
dart.vim32920644editdlrm
datascript.vim38070644editdlrm
dcd.vim18030644editdlrm
dcl.vim63830644editdlrm
debchangelog.vim34340644editdlrm
debcontrol.vim87220644editdlrm
debcopyright.vim11370644editdlrm
debsources.vim22050644editdlrm
def.vim10970644editdlrm
denyhosts.vim73650644editdlrm
desc.vim30770644editdlrm
desktop.vim93480644editdlrm
dictconf.vim31180644editdlrm
dictdconf.vim64650644editdlrm
diff.vim174200644editdlrm
dircolors.vim69460644editdlrm
dirpager.vim17870644editdlrm
diva.vim47360644editdlrm
django.vim39340644editdlrm
dns.vim1320644editdlrm
dnsmasq.vim100670644editdlrm
docbk.vim103210644editdlrm
docbksgml.vim1930644editdlrm
docbkxml.vim1910644editdlrm
dockerfile.vim24740644editdlrm
dosbatch.vim62600644editdlrm
dosini.vim12660644editdlrm
dot.vim30180644editdlrm
doxygen.vim389140644editdlrm
dracula.vim26680644editdlrm
dsl.vim13120644editdlrm
dtd.vim50070644editdlrm
dtml.vim166130644editdlrm
dtrace.vim64420644editdlrm
dts.vim12100644editdlrm
dune.vim19490644editdlrm
dylan.vim34140644editdlrm
dylanintr.vim10780644editdlrm
dylanlid.vim6640644editdlrm
ecd.vim12290644editdlrm
edif.vim12780644editdlrm
eiffel.vim69260644editdlrm
elf.vim23490644editdlrm
elinks.vim104940644editdlrm
elm.vim36510644editdlrm
elmfilt.vim28930644editdlrm
erlang.vim111340644editdlrm
eruby.vim32990644editdlrm
esmtprc.vim9380644editdlrm
esqlc.vim20940644editdlrm
esterel.vim30530644editdlrm
eterm.vim191720644editdlrm
euphoria3.vim61030644editdlrm
euphoria4.vim145370644editdlrm
eviews.vim50040644editdlrm
exim.vim180850644editdlrm
expect.vim37340644editdlrm
exports.vim17480644editdlrm
falcon.vim120130644editdlrm
fan.vim54450644editdlrm
fasm.vim87570644editdlrm
fdcc.vim56480644editdlrm
fetchmail.vim33080644editdlrm
fgl.vim72740644editdlrm
flexwiki.vim54350644editdlrm
focexec.vim35250644editdlrm
form.vim63850644editdlrm
forth.vim106700644editdlrm
fortran.vim330540644editdlrm
foxpro.vim328560644editdlrm
framescript.vim116790644editdlrm
freebasic.vim108350644editdlrm
fstab.vim159020644editdlrm
fvwm.vim250260644editdlrm
fvwm2m4.vim7110644editdlrm
gdb.vim43660644editdlrm
gdmo.vim32990644editdlrm
gedcom.vim22750644editdlrm
gift.vim102390644editdlrm
git.vim42970644editdlrm
gitcommit.vim50830644editdlrm
gitconfig.vim15960644editdlrm
gitolite.vim44540644editdlrm
gitrebase.vim29500644editdlrm
gitsendemail.vim5800644editdlrm
gkrellmrc.vim41160644editdlrm
gnash.vim34620644editdlrm
gnuplot.vim236620644editdlrm
go.vim79040644editdlrm
godoc.vim3520644editdlrm
gp.vim29650644editdlrm
gpg.vim55910644editdlrm
gprof.vim21170644editdlrm
grads.vim17420644editdlrm
gretl.vim37300644editdlrm
groff.vim2930644editdlrm
groovy.vim224840644editdlrm
group.vim17190644editdlrm
grub.vim38820644editdlrm
gsp.vim20310644editdlrm
gtkrc.vim93180644editdlrm
haml.vim70710644editdlrm
hamster.vim138400644editdlrm
haskell.vim92420644editdlrm
haste.vim49940644editdlrm
hastepreproc.vim14220644editdlrm
hb.vim31580644editdlrm
help.vim83880644editdlrm
help_ru.vim35130644editdlrm
hercules.vim57200644editdlrm
hex.vim40110644editdlrm
hgcommit.vim11140644editdlrm
hitest.vim36430644editdlrm
hog.vim121120644editdlrm
hollywood.vim444500644editdlrm
hostconf.vim38700644editdlrm
hostsaccess.vim5490644editdlrm
html.vim185440644editdlrm
htmlcheetah.vim4880644editdlrm
htmldjango.vim10110644editdlrm
htmlm4.vim6700644editdlrm
htmlos.vim83130644editdlrm
ia64.vim104720644editdlrm
ibasic.vim70360644editdlrm
icemenu.vim8240644editdlrm
icon.vim69760644editdlrm
idl.vim199010644editdlrm
idlang.vim134620644editdlrm
indent.vim71710644editdlrm
inform.vim194830644editdlrm
initex.vim192240644editdlrm
initng.vim33990644editdlrm
inittab.vim25410644editdlrm
ipfilter.vim16220644editdlrm
ishd.vim270570644editdlrm
iss.vim50300644editdlrm
ist.vim20000644editdlrm
j.vim94410644editdlrm
jal.vim89630644editdlrm
jam.vim267110644editdlrm
jargon.vim7400644editdlrm
java.vim185810644editdlrm
javacc.vim22560644editdlrm
javascript.vim56160644editdlrm
javascriptreact.vim1330644editdlrm
jess.vim62300644editdlrm
jgraph.vim12120644editdlrm
jovial.vim41070644editdlrm
jproperties.vim54960644editdlrm
json.vim62550644editdlrm
jsp.vim26780644editdlrm
kconfig.vim363040644editdlrm
kivy.vim9860644editdlrm
kix.vim63290644editdlrm
kscript.vim19850644editdlrm
kwt.vim24540644editdlrm
lace.vim40750644editdlrm
latte.vim35110644editdlrm
ld.vim29140644editdlrm
ldapconf.vim133020644editdlrm
ldif.vim10140644editdlrm
less.vim41950644editdlrm
lex.vim86510644editdlrm
lftp.vim74710644editdlrm
lhaskell.vim49360644editdlrm
libao.vim6360644editdlrm
lifelines.vim66400644editdlrm
lilo.vim104270644editdlrm
limits.vim13170644editdlrm
liquid.vim61840644editdlrm
lisp.vim358940644editdlrm
lite.vim48450644editdlrm
litestep.vim66760644editdlrm
loginaccess.vim41970644editdlrm
logindefs.vim75370644editdlrm
logtalk.vim168490644editdlrm
lotos.vim23610644editdlrm
lout.vim43260644editdlrm
lpc.vim231380644editdlrm
lprolog.vim39790644editdlrm
lscript.vim120990644editdlrm
lsl.vim158000644editdlrm
lss.vim48700644editdlrm
lua.vim140520644editdlrm
lynx.vim65790644editdlrm
m4.vim26930644editdlrm
mail.vim60690644editdlrm
mailaliases.vim27670644editdlrm
mailcap.vim11350644editdlrm
make.vim61990644editdlrm
mallard.vim17260644editdlrm
man.vim16800644editdlrm
manconf.vim43440644editdlrm
manual.vim9090644editdlrm
maple.vim285700644editdlrm
markdown.vim91260644editdlrm
masm.vim172450644editdlrm
mason.vim38180644editdlrm
master.vim10220644editdlrm
matlab.vim43160644editdlrm
maxima.vim188020644editdlrm
mel.vim34060644editdlrm
meson.vim41120644editdlrm
messages.vim27150644editdlrm
mf.vim154230644editdlrm
mgl.vim37240644editdlrm
mgp.vim20000644editdlrm
mib.vim26960644editdlrm
mix.vim29420644editdlrm
mma.vim117990644editdlrm
mmix.vim49690644editdlrm
mmp.vim14860644editdlrm
modconf.vim14190644editdlrm
model.vim14690644editdlrm
modsim3.vim36230644editdlrm
modula2.vim32250644editdlrm
modula3.vim20120644editdlrm
monk.vim102190644editdlrm
moo.vim92340644editdlrm
mp.vim445300644editdlrm
mplayerconf.vim74870644editdlrm
mrxvtrc.vim96030644editdlrm
msidl.vim34640644editdlrm
msmessages.vim63180644editdlrm
msql.vim23900644editdlrm
mupad.vim154760644editdlrm
murphi.vim45790644editdlrm
mush.vim131870644editdlrm
muttrc.vim658120644editdlrm
mysql.vim176090644editdlrm
n1ql.vim128990644editdlrm
named.vim100050644editdlrm
nanorc.vim106200644editdlrm
nasm.vim262850644editdlrm
nastran.vim85040644editdlrm
natural.vim69770644editdlrm
ncf.vim134160644editdlrm
neomuttrc.vim655370644editdlrm
netrc.vim19340644editdlrm
netrw.vim72020644editdlrm
ninja.vim28890644editdlrm
nosyntax.vim7550644editdlrm
nqc.vim140680644editdlrm
nroff.vim77790644editdlrm
nsis.vim340570644editdlrm
obj.vim27860644editdlrm
objc.vim417640644editdlrm
objcpp.vim6000644editdlrm
ocaml.vim169530644editdlrm
occam.vim43160644editdlrm
omnimark.vim63770644editdlrm
opam.vim14030644editdlrm
openroad.vim139790644editdlrm
opl.vim41280644editdlrm
ora.vim271410644editdlrm
pamconf.vim59520644editdlrm
pamenv.vim11350644editdlrm
papp.vim37890644editdlrm
pascal.vim150090644editdlrm
passwd.vim24430644editdlrm
pbtxt.vim13730644editdlrm
pcap.vim14960644editdlrm
pccts.vim40930644editdlrm
pdf.vim35390644editdlrm
perl.vim384730644editdlrm
perl6.vim741300644editdlrm
pf.vim103710644editdlrm
pfmain.vim927370644editdlrm
php.vim978850644editdlrm
phtml.vim1510644editdlrm
pic.vim33330644editdlrm
pike.vim218070644editdlrm
pilrc.vim53110644editdlrm
pine.vim154110644editdlrm
pinfo.vim52960644editdlrm
plaintex.vim103010644editdlrm
pli.vim132220644editdlrm
plm.vim53610644editdlrm
plp.vim12670644editdlrm
plsql.vim129180644editdlrm
po.vim63930644editdlrm
pod.vim72830644editdlrm
poke.vim51890644editdlrm
postscr.vim461330644editdlrm
pov.vim90570644editdlrm
povini.vim34880644editdlrm
ppd.vim8680644editdlrm
ppwiz.vim27800644editdlrm
prescribe.vim23830644editdlrm
privoxy.vim35790644editdlrm
procmail.vim20190644editdlrm
progress.vim317480644editdlrm
prolog.vim44940644editdlrm
promela.vim17280644editdlrm
proto.vim35430644editdlrm
protocols.vim14290644editdlrm
psf.vim42900644editdlrm
ptcap.vim41280644editdlrm
purifylog.vim33570644editdlrm
pyrex.vim16630644editdlrm
python.vim130820644editdlrm
qf.vim5960644editdlrm
quake.vim85540644editdlrm
r.vim147300644editdlrm
racc.vim56190644editdlrm
radiance.vim71550644editdlrm
raml.vim44500644editdlrm
ratpoison.vim172210644editdlrm
rc.vim102170644editdlrm
rcs.vim21330644editdlrm
rcslog.vim5570644editdlrm
readline.vim174870644editdlrm
README.txt14030644editdlrm
rebol.vim71670644editdlrm
redif.vim879420644editdlrm
registry.vim33550644editdlrm
rego.vim38320644editdlrm
remind.vim27130644editdlrm
resolv.vim63610644editdlrm
reva.vim75830644editdlrm
rexx.vim153310644editdlrm
rhelp.vim121340644editdlrm
rib.vim21920644editdlrm
rmd.vim53820644editdlrm
rnc.vim22630644editdlrm
rng.vim8170644editdlrm
rnoweb.vim19090644editdlrm
robots.vim15300644editdlrm
rpcgen.vim16670644editdlrm
rpl.vim257000644editdlrm
rrst.vim13060644editdlrm
rst.vim117790644editdlrm
rtf.vim23310644editdlrm
ruby.vim411120644editdlrm
rust.vim166120644editdlrm
samba.vim61310644editdlrm
sas.vim340870644editdlrm
sass.vim62630644editdlrm
sather.vim34900644editdlrm
sbt.vim8800644editdlrm
scala.vim113070644editdlrm
scheme.vim193300644editdlrm
scilab.vim32100644editdlrm
screen.vim91040644editdlrm
scss.vim5260644editdlrm
sd.vim22230644editdlrm
sdc.vim13910644editdlrm
sdl.vim65630644editdlrm
sed.vim50330644editdlrm
sendpr.vim9050644editdlrm
sensors.vim15130644editdlrm
services.vim18230644editdlrm
setserial.vim52290644editdlrm
sexplib.vim36850644editdlrm
sgml.vim88660644editdlrm
sgmldecl.vim20410644editdlrm
sgmllnx.vim18510644editdlrm
sh.vim442610644editdlrm
sicad.vim184750644editdlrm
sieve.vim16710644editdlrm
sil.vim85410644editdlrm
simula.vim33710644editdlrm
sinda.vim36660644editdlrm
sindacmp.vim12740644editdlrm
sindaout.vim19610644editdlrm
sisu.vim221800644editdlrm
skill.vim257690644editdlrm
sl.vim40840644editdlrm
slang.vim33020644editdlrm
slice.vim29280644editdlrm
slpconf.vim117910644editdlrm
slpreg.vim53460644editdlrm
slpspi.vim11810644editdlrm
slrnrc.vim128110644editdlrm
slrnsc.vim30980644editdlrm
sm.vim28510644editdlrm
smarty.vim28830644editdlrm
smcl.vim120430644editdlrm
smil.vim56160644editdlrm
smith.vim7930644editdlrm
sml.vim95180644editdlrm
snnsnet.vim24820644editdlrm
snnspat.vim22280644editdlrm
snnsres.vim19330644editdlrm
snobol4.vim53340644editdlrm
spec.vim127630644editdlrm
specman.vim73450644editdlrm
spice.vim22430644editdlrm
splint.vim157860644editdlrm
spup.vim139260644editdlrm
spyce.vim44550644editdlrm
sql.vim11200644editdlrm
sqlanywhere.vim419290644editdlrm
sqlforms.vim67340644editdlrm
sqlhana.vim110270644editdlrm
sqlinformix.vim59010644editdlrm
sqlj.vim29700644editdlrm
sqloracle.vim76490644editdlrm
sqr.vim130120644editdlrm
squid.vim69310644editdlrm
srec.vim38150644editdlrm
sshconfig.vim114410644editdlrm
sshdconfig.vim129270644editdlrm
st.vim27520644editdlrm
stata.vim270560644editdlrm
stp.vim54270644editdlrm
strace.vim19700644editdlrm
sudoers.vim244500644editdlrm
svg.vim4360644editdlrm
svn.vim18520644editdlrm
swift.vim88280644editdlrm
swiftgyb.vim8220644editdlrm
syncolor.vim41390644editdlrm
synload.vim20340644editdlrm
syntax.vim12280644editdlrm
sysctl.vim11530644editdlrm
systemd.vim1840644editdlrm
systemverilog.vim35390644editdlrm
tads.vim68620644editdlrm
tags.vim11560644editdlrm
tak.vim29200644editdlrm
takcmp.vim15930644editdlrm
takout.vim20000644editdlrm
tap.vim43620644editdlrm
tar.vim3730644editdlrm
taskdata.vim12070644editdlrm
taskedit.vim11300644editdlrm
tasm.vim56910644editdlrm
tcl.vim172860644editdlrm
tcsh.vim132690644editdlrm
template.vim4490644editdlrm
teraterm.vim49800644editdlrm
terminfo.vim48030644editdlrm
tex.vim650430644editdlrm
texinfo.vim255680644editdlrm
texmf.vim22810644editdlrm
tf.vim69040644editdlrm
tidy.vim135590644editdlrm
tilde.vim15390644editdlrm
tli.vim16580644editdlrm
tmux.vim59490644editdlrm
tpp.vim34130644editdlrm
trasys.vim50330644editdlrm
treetop.vim36680644editdlrm
trustees.vim15460644editdlrm
tsalt.vim83250644editdlrm
tsscl.vim51200644editdlrm
tssgm.vim27870644editdlrm
tssop.vim17850644editdlrm
tt2.vim79230644editdlrm
tt2html.vim5160644editdlrm
tt2js.vim5220644editdlrm
typescript.vim14230644editdlrm
typescriptcommon.vim1343840644editdlrm
typescriptreact.vim39240644editdlrm
uc.vim66340644editdlrm
udevconf.vim12270644editdlrm
udevperm.vim24090644editdlrm
udevrules.vim69600644editdlrm
uil.vim28210644editdlrm
updatedb.vim12200644editdlrm
upstart.vim31510644editdlrm
upstreamdat.vim140480644editdlrm
upstreaminstalllog.vim9710644editdlrm
upstreamlog.vim26200644editdlrm
upstreamrpt.vim141970644editdlrm
usserverlog.vim31180644editdlrm
usw2kagtlog.vim27020644editdlrm
valgrind.vim32160644editdlrm
vb.vim202990644editdlrm
vera.vim195520644editdlrm
verilog.vim50550644editdlrm
verilogams.vim60830644editdlrm
vgrindefs.vim12140644editdlrm
vhdl.vim96580644editdlrm
vim.vim749490644editdlrm
viminfo.vim12410644editdlrm
virata.vim116130644editdlrm
vmasm.vim85120644editdlrm
voscm.vim69750644editdlrm
vrml.vim127880644editdlrm
vroom.vim34920644editdlrm
vsejcl.vim10040644editdlrm
vue.vim4330644editdlrm
wast.vim39260644editdlrm
wdiff.vim7160644editdlrm
web.vim11140644editdlrm
webmacro.vim31300644editdlrm
wget.vim39610644editdlrm
whitespace.vim3570644editdlrm
winbatch.vim121520644editdlrm
wml.vim57310644editdlrm
wsh.vim12420644editdlrm
wsml.vim54000644editdlrm
wvdial.vim10930644editdlrm
xbl.vim5680644editdlrm
xdefaults.vim58870644editdlrm
xf86conf.vim147250644editdlrm
xhtml.vim1860644editdlrm
xinetd.vim142080644editdlrm
xkb.vim33130644editdlrm
xmath.vim108310644editdlrm
xml.vim91290644editdlrm
xmodmap.vim465110644editdlrm
xpm.vim44030644editdlrm
xpm2.vim46970644editdlrm
xquery.vim71910644editdlrm
xs.vim2467450644editdlrm
xsd.vim21250644editdlrm
xslt.vim26540644editdlrm
xxd.vim7670644editdlrm
yacc.vim56560644editdlrm
yaml.vim128740644editdlrm
z8a.vim28940644editdlrm
zimbu.vim64460644editdlrm
zsh.vim251700644editdlrm
Edit: /usr/share/vim/vim82/syntax/sas.vim (34087B)
" Vim syntax file " Language: SAS " Maintainer: Zhen-Huan Hu " Original Maintainer: James Kidd " Version: 3.0.0 " Last Change: Aug 26, 2017 " " 2017 Mar 7 " " Upgrade version number to 3.0. Improvements include: " - Improve sync speed " - Largely enhance precision " - Update keywords in the latest SAS (as of Mar 2017) " - Add syntaxes for date/time constants " - Add syntax for data lines " - Add (back) syntax for TODO in comments " " 2017 Feb 9 " " Add syntax folding " " 2016 Oct 10 " " Add highlighting for functions " " 2016 Sep 14 " " Change the implementation of syntaxing " macro function names so that macro parameters same " as SAS keywords won't be highlighted " (Thank Joug Raw for the suggestion) " Add section highlighting: " - Use /** and **/ to define a section " - It functions the same as a comment but " with different highlighting " " 2016 Jun 14 " " Major changes so upgrade version number to 2.0 " Overhaul the entire script (again). Improvements include: " - Higher precision " - Faster synchronization " - Separate color for control statements " - Highlight hash and java objects " - Highlight macro variables in double quoted strings " - Update all syntaxes based on SAS 9.4 " - Add complete SAS/GRAPH and SAS/STAT procedure syntaxes " - Add Proc TEMPLATE and GTL syntaxes " - Add complete DS2 syntaxes " - Add basic IML syntaxes " - Many other improvements and bug fixes " Drop support for VIM version < 600 if version < 600 syntax clear elseif exists('b:current_syntax') finish endif let s:cpo_save = &cpo set cpo&vim syn case ignore " Basic SAS syntaxes syn keyword sasOperator and eq ge gt in le lt ne not of or syn keyword sasReserved _all_ _automatic_ _char_ _character_ _data_ _infile_ _last_ _n_ _name_ _null_ _num_ _numeric_ _temporary_ _user_ _webout_ " Strings syn region sasString start=+'+ skip=+''+ end=+'+ contains=@Spell syn region sasString start=+"+ skip=+""+ end=+"+ contains=sasMacroVariable,@Spell " Constants syn match sasNumber /\v<\d+%(\.\d+)=%(>|e[\-+]=\d+>)/ display syn match sasDateTime /\v(['"])\d{2}%(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\d{2}%(\d{2})=:\d{2}:\d{2}%(:\d{2})=%(am|pm)\1dt>/ display syn match sasDateTime /\v(['"])\d{2}%(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\d{2}%(\d{2})=\1d>/ display syn match sasDateTime /\v(['"])\d{2}:\d{2}%(:\d{2})=%(am|pm)\1t>/ display " Comments syn keyword sasTodo todo tbd fixme contained syn region sasComment start='/\*' end='\*/' contains=sasTodo syn region sasComment start='\v%(^|;)\s*\zs\%=\*' end=';'me=s-1 contains=sasTodo syn region sasSectLbl matchgroup=sasSectLblEnds start='/\*\*\s*' end='\s*\*\*/' concealends " Macros syn match sasMacroVariable '\v\&+\w+%(\.\w+)=' display syn match sasMacroReserved '\v\%%(abort|by|copy|display|do|else|end|global|goto|if|include|input|let|list|local|macro|mend|put|return|run|symdel|syscall|sysexec|syslput|sysrput|then|to|until|window|while)>' display syn region sasMacroFunction matchgroup=sasMacroFunctionName start='\v\%\w+\ze\(' end=')'he=s-1 contains=@sasBasicSyntax,sasMacroFunction syn region sasMacroFunction matchgroup=sasMacroFunctionName start='\v\%q=sysfunc\ze\(' end=')'he=s-1 contains=@sasBasicSyntax,sasMacroFunction,sasDataStepFunction " Syntax cluster for basic SAS syntaxes syn cluster sasBasicSyntax contains=sasOperator,sasReserved,sasNumber,sasDateTime,sasString,sasComment,sasMacroReserved,sasMacroFunction,sasMacroVariable,sasSectLbl " Formats syn match sasFormat '\v\$\w+\.' display contained syn match sasFormat '\v<\w+\.%(\d+>)=' display contained syn region sasFormatContext start='.' end=';'me=s-1 contained contains=@sasBasicSyntax,sasFormat " Define global statements that can be accessed out of data step or procedures syn keyword sasGlobalStatementKeyword catname dm endsas filename footnote footnote1 footnote2 footnote3 footnote4 footnote5 footnote6 footnote7 footnote8 footnote9 footnote10 missing libname lock ods options page quit resetline run sasfile skip sysecho title title1 title2 title3 title4 title5 title6 title7 title8 title9 title10 contained syn keyword sasGlobalStatementODSKeyword chtml csvall docbook document escapechar epub epub2 epub3 exclude excel graphics html html3 html5 htmlcss imode listing markup output package path pcl pdf preferences phtml powerpoint printer proclabel proctitle ps results rtf select show tagsets trace usegopt verify wml contained syn match sasGlobalStatement '\v%(^|;)\s*\zs\h\w*>' display transparent contains=sasGlobalStatementKeyword syn match sasGlobalStatement '\v%(^|;)\s*\zsods>' display transparent contains=sasGlobalStatementKeyword nextgroup=sasGlobalStatementODSKeyword skipwhite skipnl skipempty " Data step statements, 9.4 syn keyword sasDataStepFunctionName abs addr addrlong airy allcomb allperm anyalnum anyalpha anycntrl anydigit anyfirst anygraph anylower anyname anyprint anypunct anyspace anyupper anyxdigit arcos arcosh arsin arsinh artanh atan atan2 attrc attrn band beta betainv blackclprc blackptprc blkshclprc blkshptprc blshift bnot bor brshift bxor byte cat catq cats catt catx cdf ceil ceilz cexist char choosec choosen cinv close cmiss cnonct coalesce coalescec collate comb compare compbl compfuzz compged complev compound compress constant convx convxp cos cosh cot count countc countw csc css cumipmt cumprinc curobs cv daccdb daccdbsl daccsl daccsyd dacctab dairy datdif date datejul datepart datetime day dclose dcreate depdb depdbsl depsl depsyd deptab dequote deviance dhms dif digamma dim dinfo divide dnum dopen doptname doptnum dosubl dread dropnote dsname dsncatlgd dur durp effrate envlen erf erfc euclid exist exp fact fappend fclose fcol fcopy fdelete fetch fetchobs fexist fget fileexist filename fileref finance find findc findw finfo finv fipname fipnamel fipstate first floor floorz fmtinfo fnonct fnote fopen foptname foptnum fpoint fpos fput fread frewind frlen fsep fuzz fwrite gaminv gamma garkhclprc garkhptprc gcd geodist geomean geomeanz getoption getvarc getvarn graycode harmean harmeanz hbound hms holiday holidayck holidaycount holidayname holidaynx holidayny holidaytest hour htmldecode htmlencode ibessel ifc ifn index indexc indexw input inputc inputn int intcindex intck intcycle intfit intfmt intget intindex intnx intrr intseas intshift inttest intz iorcmsg ipmt iqr irr jbessel juldate juldate7 kurtosis lag largest lbound lcm lcomb left length lengthc lengthm lengthn lexcomb lexcombi lexperk lexperm lfact lgamma libname libref log log1px log10 log2 logbeta logcdf logistic logpdf logsdf lowcase lperm lpnorm mad margrclprc margrptprc max md5 mdy mean median min minute missing mod modexist module modulec modulen modz month mopen mort msplint mvalid contained syn keyword sasDataStepFunctionName n netpv nliteral nmiss nomrate normal notalnum notalpha notcntrl notdigit note notfirst notgraph notlower notname notprint notpunct notspace notupper notxdigit npv nvalid nwkdom open ordinal pathname pctl pdf peek peekc peekclong peeklong perm pmt point poisson ppmt probbeta probbnml probbnrm probchi probf probgam probhypr probit probmc probnegb probnorm probt propcase prxchange prxmatch prxparen prxparse prxposn ptrlongadd put putc putn pvp qtr quantile quote ranbin rancau rand ranexp rangam range rank rannor ranpoi rantbl rantri ranuni rename repeat resolve reverse rewind right rms round rounde roundz saving savings scan sdf sec second sha256 sha256hex sha256hmachex sign sin sinh skewness sleep smallest soapweb soapwebmeta soapwipservice soapwipsrs soapws soapwsmeta soundex spedis sqrt squantile std stderr stfips stname stnamel strip subpad substr substrn sum sumabs symexist symget symglobl symlocal sysexist sysget sysmsg sysparm sysprocessid sysprocessname sysprod sysrc system tan tanh time timepart timevalue tinv tnonct today translate transtrn tranwrd trigamma trim trimn trunc tso typeof tzoneid tzonename tzoneoff tzones2u tzoneu2s uniform upcase urldecode urlencode uss uuidgen var varfmt varinfmt varlabel varlen varname varnum varray varrayx vartype verify vformat vformatd vformatdx vformatn vformatnx vformatw vformatwx vformatx vinarray vinarrayx vinformat vinformatd vinformatdx vinformatn vinformatnx vinformatw vinformatwx vinformatx vlabel vlabelx vlength vlengthx vname vnamex vtype vtypex vvalue vvaluex week weekday whichc whichn wto year yieldp yrdif yyq zipcity zipcitydistance zipfips zipname zipnamel zipstate contained syn keyword sasDataStepCallRoutineName allcomb allcombi allperm cats catt catx compcost execute graycode is8601_convert label lexcomb lexcombi lexperk lexperm logistic missing module poke pokelong prxchange prxdebug prxfree prxnext prxposn prxsubstr ranbin rancau rancomb ranexp rangam rannor ranperk ranperm ranpoi rantbl rantri ranuni scan set sleep softmax sortc sortn stdize streaminit symput symputx system tanh tso vname vnext wto contained syn region sasDataStepFunctionContext start='(' end=')' contained contains=@sasBasicSyntax,sasDataStepFunction syn region sasDataStepFunctionFormatContext start='(' end=')' contained contains=@sasBasicSyntax,sasDataStepFunction,sasFormat syn match sasDataStepFunction '\v<\w+\ze\(' contained contains=sasDataStepFunctionName,sasDataStepCallRoutineName nextgroup=sasDataStepFunctionContext syn match sasDataStepFunction '\v%(input|put)\ze\(' contained contains=sasDataStepFunctionName nextgroup=sasDataStepFunctionFormatContext syn keyword sasDataStepHashMethodName add check clear definedata definedone definekey delete do_over equals find find_next find_prev first has_next has_prev last next output prev ref remove removedup replace replacedup reset_dup setcur sum sumdup contained syn region sasDataStepHashMethodContext start='(' end=')' contained contains=@sasBasicSyntax,sasDataStepFunction syn match sasDataStepHashMethod '\v\.\w+\ze\(' contained contains=sasDataStepHashMethodName nextgroup=sasDataStepHashMethodContext syn keyword sasDataStepHashAttributeName item_size num_items contained syn match sasDataStepHashAttribute '\v\.\w+>\ze\_[^(]' display contained contains=sasDataStepHashAttributeName syn keyword sasDataStepControl continue do end go goto if leave link otherwise over return select to until when while contained syn keyword sasDataStepControl else then contained nextgroup=sasDataStepStatementKeyword skipwhite skipnl skipempty syn keyword sasDataStepHashOperator _new_ contained syn keyword sasDataStepStatementKeyword abort array attrib by call cards cards4 datalines datalines4 dcl declare delete describe display drop error execute file format infile informat input keep label length lines lines4 list lostcard merge modify output put putlog redirect remove rename replace retain set stop update where window contained syn keyword sasDataStepStatementHashKeyword hash hiter javaobj contained syn match sasDataStepStatement '\v%(^|;)\s*\zs\h\w*>' display contained contains=sasDataStepStatementKeyword,sasGlobalStatementKeyword syn match sasDataStepStatement '\v%(^|;)\s*\zs%(dcl|declare)>' display contained contains=sasDataStepStatementKeyword nextgroup=sasDataStepStatementHashKeyword skipwhite skipnl skipempty syn match sasDataStepStatement '\v%(^|;)\s*\zsods>' display contained contains=sasGlobalStatementKeyword nextgroup=sasGlobalStatementODSKeyword skipwhite skipnl skipempty syn match sasDataStepStatement '\v%(^|;)\s*\zs%(format|informat|input|put)>' display contained contains=sasDataStepStatementKeyword nextgroup=sasFormatContext skipwhite skipnl skipempty syn match sasDataStepStatement '\v%(^|;)\s*\zs%(cards|datalines|lines)4=\s*;' display contained contains=sasDataStepStatementKeyword nextgroup=sasDataLine skipwhite skipnl skipempty syn region sasDataLine start='^' end='^\s*;'me=s-1 contained syn region sasDataStep matchgroup=sasSectionKeyword start='\v%(^|;)\s*\zsdata>' end='\v%(^|;)\s*%(run|data|proc|endsas)>'me=s-1 fold contains=@sasBasicSyntax,@sasDataStepSyntax syn cluster sasDataStepSyntax contains=sasDataStepFunction,sasDataStepHashOperator,sasDataStepHashAttribute,sasDataStepHashMethod,sasDataStepControl,sasDataStepStatement " Procedures, base SAS, 9.4 syn keyword sasProcStatementKeyword abort age append array attrib audit block break by calid cdfplot change checkbox class classlev column compute contents copy create datarow dbencoding define delete deletefunc deletesubr delimiter device dialog dur endcomp exact exchange exclude explore fin fmtlib fontfile fontpath format formats freq function getnames guessingrows hbar hdfs histogram holidur holifin holistart holivar id idlabel informat inset invalue item key keylabel keyword label line link listfunc listsubr mapmiss mapreduce mean menu messages meta modify opentype outargs outdur outfin output outstart pageby partial picture pie pig plot ppplot printer probplot profile prompter qqplot radiobox ranks rbreak rbutton rebuild record remove rename repair report roptions save select selection separator source star start statistics struct submenu subroutine sum sumby table tables test text trantab truetype type1 types value var vbar ways weight where with write contained syn match sasProcStatement '\v%(^|;)\s*\zs\h\w*>' display contained contains=sasProcStatementKeyword,sasGlobalStatementKeyword syn match sasProcStatement '\v%(^|;)\s*\zsods>' display contained contains=sasGlobalStatementKeyword nextgroup=sasGlobalStatementODSKeyword skipwhite skipnl skipempty syn match sasProcStatement '\v%(^|;)\s*\zs%(format|informat)>' display contained contains=sasProcStatementKeyword nextgroup=sasFormatContext skipwhite skipnl skipempty syn region sasProc matchgroup=sasSectionKeyword start='\v%(^|;)\s*\zsproc%(\s+\h\w*)=>' end='\v%(^|;)\s*%(run|data|proc|endsas)>'me=s-1 fold contains=@sasBasicSyntax,sasDataStepFunction,sasProcStatement syn region sasProc matchgroup=sasSectionKeyword start='\v%(^|;)\s*\zsproc\s+%(catalog|chart|datasets|document|plot)>' end='\v%(^|;)\s*%(quit|data|proc|endsas)>'me=s-1 fold contains=@sasBasicSyntax,sasDataStepFunction,sasProcStatement " Procedures, SAS/GRAPH, 9.4 syn keyword sasGraphProcStatementKeyword add area axis bar block bubble2 byline cc ccopy cdef cdelete chart cmap choro copy delete device dial donut exclude flow format fs goptions gout grid group hbar hbar3d hbullet hslider htrafficlight id igout label legend list modify move nobyline note pattern pie pie3d plot plot2 preview prism quit rename replay select scatter speedometer star surface symbol tc tcopy tdef tdelete template tile toggle treplay vbar vbar3d vtrafficlight vbullet vslider where contained syn match sasGraphProcStatement '\v%(^|;)\s*\zs\h\w*>' display contained contains=sasGraphProcStatementKeyword,sasGlobalStatementKeyword syn match sasGraphProcStatement '\v%(^|;)\s*\zsformat>' display contained contains=sasGraphProcStatementKeyword nextgroup=sasFormatContext skipwhite skipnl skipempty syn region sasGraphProc matchgroup=sasSectionKeyword start='\v%(^|;)\s*\zsproc\s+%(g3d|g3grid|ganno|gcontour|gdevice|geocode|gfont|ginside|goptions|gproject|greduce|gremove|mapimport)>' end='\v%(^|;)\s*%(run|data|proc|endsas)>'me=s-1 fold contains=@sasBasicSyntax,sasDataStepFunction,sasGraphProcStatement syn region sasGraphProc matchgroup=sasSectionKeyword start='\v%(^|;)\s*\zsproc\s+%(gareabar|gbarline|gchart|gkpi|gmap|gplot|gradar|greplay|gslide|gtile)>' end='\v%(^|;)\s*%(quit|data|proc|endsas)>'me=s-1 fold contains=@sasBasicSyntax,sasDataStepFunction,sasGraphProcStatement " Procedures, SAS/STAT, 14.1 syn keyword sasAnalyticalProcStatementKeyword absorb add array assess baseline bayes beginnodata bivar bootstrap bounds by cdfplot cells class cluster code compute condition contrast control coordinates copy cosan cov covtest coxreg der design determ deviance direct directions domain effect effectplot effpart em endnodata equality estimate exact exactoptions factor factors fcs filter fitindex format freq fwdlink gender grid group grow hazardratio height hyperprior id impjoint inset insetgroup invar invlink ippplot lincon lineqs lismod lmtests location logistic loglin lpredplot lsmeans lsmestimate manova matings matrix mcmc mean means missmodel mnar model modelaverage modeleffects monotone mstruct mtest multreg name nlincon nloptions oddsratio onecorr onesamplefreq onesamplemeans onewayanova outfiles output paired pairedfreq pairedmeans parameters parent parms partial partition path pathdiagram pcov performance plot population poststrata power preddist predict predpplot priors process probmodel profile prune pvar ram random ratio reference refit refmodel renameparm repeated replicate repweights response restore restrict retain reweight ridge rmsstd roc roccontrast rules samplesize samplingunit seed size scale score selection show simtests simulate slice std stderr store strata structeq supplementary table tables test testclass testfreq testfunc testid time transform treatments trend twosamplefreq twosamplemeans towsamplesurvival twosamplewilcoxon uds units univar var variance varnames weight where with zeromodel contained syn match sasAnalyticalProcStatement '\v%(^|;)\s*\zs\h\w*>' display contained contains=sasAnalyticalProcStatementKeyword,sasGlobalStatementKeyword syn match sasAnalyticalProcStatement '\v%(^|;)\s*\zsods>' display contained contains=sasGlobalStatementKeyword nextgroup=sasGlobalStatementODSKeyword skipwhite skipnl skipempty syn match sasAnalyticalProcStatement '\v%(^|;)\s*\zsformat>' display contained contains=sasAnalyticalProcStatementKeyword nextgroup=sasFormatContext skipwhite skipnl skipempty syn region sasAnalyticalProc matchgroup=sasSectionKeyword start='\v%(^|;)\s*\zsproc\s+%(aceclus|adaptivereg|bchoice|boxplot|calis|cancorr|candisc|cluster|corresp|discrim|distance|factor|fastclus|fmm|freq|gam|gampl|gee|genmod|glimmix|glmmod|glmpower|glmselect|hpcandisc|hpfmm|hpgenselect|hplmixed|hplogistic|hpmixed|hpnlmod|hppls|hpprincomp|hpquantselect|hpreg|hpsplit|iclifetest|icphreg|inbreed|irt|kde|krige2d|lattice|lifereg|lifetest|loess|logistic|mcmc|mds|mi|mianalyze|mixed|modeclus|multtest|nested|nlin|nlmixed|npar1way|orthoreg|phreg|plm|pls|power|princomp|prinqual|probit|quantlife|quantreg|quantselect|robustreg|rsreg|score|seqdesign|seqtest|sim2d|simnormal|spp|stdize|stdrate|stepdisc|surveyfreq|surveyimpute|surveylogistic|surveymeans|surveyphreg|surveyreg|surveyselect|tpspline|transreg|tree|ttest|varclus|varcomp|variogram)>' end='\v%(^|;)\s*%(run|data|proc|endsas)>'me=s-1 fold contains=@sasBasicSyntax,sasDataStepControl,sasDataStepFunction,sasAnalyticalProcStatement syn region sasAnalyticalProc matchgroup=sasSectionKeyword start='\v%(^|;)\s*\zsproc\s+%(anova|arima|catmod|factex|glm|model|optex|plan|reg)>' end='\v%(^|;)\s*%(quit|data|proc|endsas)>'me=s-1 fold contains=@sasBasicSyntax,sasDataStepControl,sasDataStepFunction,sasAnalyticalProcStatement " Procedures, ODS graphics, 9.4 syn keyword sasODSGraphicsProcStatementKeyword band block bubble by colaxis compare dattrvar density dot dropline dynamic ellipse ellipseparm format fringe gradlegend hbar hbarbasic hbarparm hbox heatmap heatmapparm highlow histogram hline inset keylegend label lineparm loess matrix needle parent panelby pbspline plot polygon refline reg rowaxis scatter series spline step style styleattrs symbolchar symbolimage text vbar vbarbasic vbarparm vbox vector vline waterfall where xaxis x2axis yaxis y2axis yaxistable contained syn match sasODSGraphicsProcStatement '\v%(^|;)\s*\zs\h\w*>' display contained contains=sasODSGraphicsProcStatementKeyword,sasGlobalStatementKeyword syn match sasODSGraphicsProcStatement '\v%(^|;)\s*\zsods>' display contained contains=sasGlobalStatementKeyword nextgroup=sasGlobalStatementODSKeyword skipwhite skipnl skipempty syn match sasODSGraphicsProcStatement '\v%(^|;)\s*\zsformat>' display contained contains=sasODSGraphicsProcStatementKeyword nextgroup=sasFormatContext skipwhite skipnl skipempty syn region sasODSGraphicsProc matchgroup=sasSectionKeyword start='\v%(^|;)\s*\zsproc\s+%(sgdesign|sgpanel|sgplot|sgrender|sgscatter)>' end='\v%(^|;)\s*%(run|data|proc|endsas)>'me=s-1 fold contains=@sasBasicSyntax,sasDataStepFunction,sasODSGraphicsProcStatement " Proc TEMPLATE, 9.4 syn keyword sasProcTemplateClause as into syn keyword sasProcTemplateStatementKeyword block break cellstyle class close column compute continue define delete delstream do done dynamic edit else end eval flush footer header import iterate link list mvar ndent next nmvar notes open path put putl putlog putq putstream putvars replace set source stop style test text text2 text3 translate trigger unblock unset xdent contained syn keyword sasProcTemplateStatementComplexKeyword cellvalue column crosstabs event footer header statgraph style table tagset contained syn keyword sasProcTemplateGTLStatementKeyword axislegend axistable bandplot barchart barchartparm begingraph beginpolygon beginpolyline bihistogram3dparm blockplot boxplot boxplotparm bubbleplot continuouslegend contourplotparm dendrogram discretelegend drawarrow drawimage drawline drawoval drawrectangle drawtext dropline ellipse ellipseparm endgraph endinnermargin endlayout endpolygon endpolyline endsidebar entry entryfootnote entrytitle fringeplot heatmap heatmapparm highlowplot histogram histogramparm innermargin layout legenditem legendtextitems linechart lineparm loessplot mergedlegend modelband needleplot pbsplineplot polygonplot referenceline regressionplot scatterplot seriesplot sidebar stepplot surfaceplotparm symbolchar symbolimage textplot vectorplot waterfallchart contained syn keyword sasProcTemplateGTLComplexKeyword datalattice datapanel globallegend gridded lattice overlay overlayequated overlay3d region contained syn match sasProcTemplateStatement '\v%(^|;)\s*\zs\h\w*>' display contained contains=sasProcTemplateStatementKeyword,sasProcTemplateGTLStatementKeyword,sasGlobalStatementKeyword syn match sasProcTemplateStatement '\v%(^|;)\s*\zsdefine>' display contained contains=sasProcTemplateStatementKeyword nextgroup=sasProcTemplateStatementComplexKeyword skipwhite skipnl skipempty syn match sasProcTemplateStatement '\v%(^|;)\s*\zslayout>' display contained contains=sasProcTemplateGTLStatementKeyword nextgroup=sasProcTemplateGTLComplexKeyword skipwhite skipnl skipempty syn match sasProcTemplateStatement '\v%(^|;)\s*\zsods>' display contained contains=sasGlobalStatementKeyword nextgroup=sasGlobalStatementODSKeyword skipwhite skipnl skipempty syn region sasProcTemplate matchgroup=sasSectionKeyword start='\v%(^|;)\s*\zsproc\s+template>' end='\v%(^|;)\s*%(run|data|proc|endsas)>'me=s-1 fold contains=@sasBasicSyntax,sasProcTemplateClause,sasProcTemplateStatement " Proc SQL, 9.4 syn keyword sasProcSQLFunctionName avg count css cv freq max mean median min n nmiss prt range std stderr sum sumwgt t uss var contained syn region sasProcSQLFunctionContext start='(' end=')' contained contains=@sasBasicSyntax,sasProcSQLFunction syn match sasProcSQLFunction '\v<\w+\ze\(' contained contains=sasProcSQLFunctionName,sasDataStepFunctionName nextgroup=sasProcSQLFunctionContext syn keyword sasProcSQLClause add asc between by calculated cascade case check connection constraint cross desc distinct drop else end escape except exists foreign from full group having in inner intersect into is join key left libname like modify natural newline notrim null on order outer primary references restrict right separated set then to trimmed union unique user using values when where contained syn keyword sasProcSQLClause as contained nextgroup=sasProcSQLStatementKeyword skipwhite skipnl skipempty syn keyword sasProcSQLStatementKeyword connect delete disconnect execute insert reset select update validate contained syn keyword sasProcSQLStatementComplexKeyword alter create describe drop contained nextgroup=sasProcSQLStatementNextKeyword skipwhite skipnl skipempty syn keyword sasProcSQLStatementNextKeyword index table view contained syn match sasProcSQLStatement '\v%(^|;)\s*\zs\h\w*>' display contained contains=sasProcSQLStatementKeyword,sasGlobalStatementKeyword syn match sasProcSQLStatement '\v%(^|;)\s*\zs%(alter|create|describe|drop)>' display contained contains=sasProcSQLStatementComplexKeyword nextgroup=sasProcSQLStatementNextKeyword skipwhite skipnl skipempty syn match sasProcSQLStatement '\v%(^|;)\s*\zsvalidate>' display contained contains=sasProcSQLStatementKeyword nextgroup=sasProcSQLStatementKeyword,sasProcSQLStatementComplexKeyword skipwhite skipnl skipempty syn match sasProcSQLStatement '\v%(^|;)\s*\zsods>' display contained contains=sasGlobalStatementKeyword nextgroup=sasGlobalStatementODSKeyword skipwhite skipnl skipempty syn region sasProcSQL matchgroup=sasSectionKeyword start='\v%(^|;)\s*\zsproc\s+sql>' end='\v%(^|;)\s*%(quit|data|proc|endsas)>'me=s-1 fold contains=@sasBasicSyntax,sasProcSQLFunction,sasProcSQLClause,sasProcSQLStatement " SAS/DS2, 9.4 syn keyword sasDS2FunctionName abs anyalnum anyalpha anycntrl anydigit anyfirst anygraph anylower anyname anyprint anypunct anyspace anyupper anyxdigit arcos arcosh arsin arsinh artanh atan atan2 band beta betainv blackclprc blackptprc blkshclprc blkshptprc blshift bnot bor brshift bxor byte cat cats catt catx ceil ceilz choosec choosen cmp cmpt coalesce coalescec comb compare compbl compfuzz compound compress constant convx convxp cos cosh count countc countw css cumipmt cumprinc cv datdif date datejul datepart datetime day dequote deviance dhms dif digamma dim divide dur durp effrate erf erfc exp fact find findc findw floor floorz fmtinfo fuzz gaminv gamma garkhclprc garkhptprc gcd geodist geomean geomeanz harmean harmeanz hbound hms holiday hour index indexc indexw inputc inputn int intcindex intck intcycle intdt intfit intget intindex intnest intnx intrr intseas intshift inttest intts intz ipmt iqr irr juldate juldate7 kcount kstrcat kstrip kupdate kupdates kurtosis lag largest lbound lcm left length lengthc lengthm lengthn lgamma log logbeta log10 log1px log2 lowcase mad margrclprc margrptprc max md5 mdy mean median min minute missing mod modz month mort n ndims netpv nmiss nomrate notalnum notalpha notcntrl notdigit notfirst notgraph notlower notname notprint notpunct notspace notupper notxdigit npv null nwkdom ordinal pctl perm pmt poisson power ppmt probbeta probbnml probbnrm probchi probdf probf probgam probhypr probit probmc probmed probnegb probnorm probt prxchange prxmatch prxparse prxposn put pvp qtr quote ranbin rancau rand ranexp rangam range rank rannor ranpoi rantbl rantri ranuni repeat reverse right rms round rounde roundz savings scan sec second sha256hex sha256hmachex sign sin sinh skewness sleep smallest sqlexec sqrt std stderr streaminit strip substr substrn sum sumabs tan tanh time timepart timevalue tinv to_date to_double to_time to_timestamp today translate transtrn tranwrd trigamma trim trimn trunc uniform upcase uss uuidgen var verify vformat vinarray vinformat vlabel vlength vname vtype week weekday whichc whichn year yieldp yrdif yyq contained syn region sasDS2FunctionContext start='(' end=')' contained contains=@sasBasicSyntax,sasDS2Function syn match sasDS2Function '\v<\w+\ze\(' contained contains=sasDS2FunctionName nextgroup=sasDS2FunctionContext syn keyword sasDS2Control continue data dcl declare do drop else end enddata endpackage endthread from go goto if leave method otherwise package point return select then thread to until when while contained syn keyword sasDS2StatementKeyword array by forward keep merge output put rename retain set stop vararray varlist contained syn keyword sasDS2StatementComplexKeyword package thread contained syn match sasDS2Statement '\v%(^|;)\s*\zs\h\w*>' display contained contains=sasDS2StatementKeyword,sasGlobalStatementKeyword syn match sasDS2Statement '\v%(^|;)\s*\zs%(dcl|declare|drop)>' display contained contains=sasDS2StatementKeyword nextgroup=sasDS2StatementComplexKeyword skipwhite skipnl skipempty syn match sasDS2Statement '\v%(^|;)\s*\zsods>' display contained contains=sasGlobalStatementKeyword nextgroup=sasGlobalStatementODSKeyword skipwhite skipnl skipempty syn region sasDS2 matchgroup=sasSectionKeyword start='\v%(^|;)\s*\zsproc\s+ds2>' end='\v%(^|;)\s*%(quit|data|proc|endsas)>'me=s-1 fold contains=@sasBasicSyntax,sasDS2Function,sasDS2Control,sasDS2Statement " SAS/IML, 14.1 syn keyword sasIMLFunctionName abs all allcomb allperm any apply armasim bin blankstr block branks bspline btran byte char choose col colvec concat contents convexit corr corr2cov countmiss countn countunique cov cov2corr covlag cshape cusum cuprod cv cvexhull datasets design designf det diag dif dimension distance do duration echelon eigval eigvec element exp expmatrix expandgrid fft forward froot full gasetup geomean ginv hadamard half hankel harmean hdir hermite homogen i ifft insert int inv invupdt isempty isskipped j jroot kurtosis lag length loc log logabsdet mad magic mahalanobis max mean median min mod moduleic modulein name ncol ndx2sub nleng norm normal nrow num opscal orpol parentname palette polyroot prod product pv quartile rancomb randdirichlet randfun randmultinomial randmvt randnormal randwishart ranperk ranperm range rank ranktie rates ratio remove repeat root row rowcat rowcatc rowvec rsubstr sample setdif shape shapecol skewness solve sparse splinev spot sqrsym sqrt sqrvech ssq standard std storage sub2ndx substr sum sweep symsqr t toeplitz trace trisolv type uniform union unique uniqueby value var vecdiag vech xmult xsect yield contained syn keyword sasIMLCallRoutineName appcort armacov armalik bar box change comport delete eigen execute exportdatasettor exportmatrixtor farmacov farmafit farmalik farmasim fdif gaend gagetmem gagetval gainit gareeval garegen gasetcro gasetmut gasetobj gasetsel gblkvp gblkvpd gclose gdelete gdraw gdrawl geneig ggrid ginclude gopen gpie gpiexy gpoint gpoly gport gportpop gportstk gscale gscript gset gshow gsorth gstart gstop gstrlen gtext gvtext gwindow gxaxis gyaxis heatmapcont heatmapdisc histogram importdatasetfromr importmatrixfromr ipf itsolver kalcvf kalcvs kaldff kaldfs lav lcp lms lp lpsolve lts lupdt marg maxqform mcd milpsolve modulei mve nlpcg nlpdd nlpfdd nlpfea nlphqn nlplm nlpnms nlpnra nlpnrr nlpqn nlpqua nlptr ode odsgraph ortvec pgraf push qntl qr quad queue randgen randseed rdodt rupdt rename rupdt rzlind scatter seq seqscale seqshift seqscale seqshift series solvelin sort sortndx sound spline splinec svd tabulate tpspline tpsplnev tsbaysea tsdecomp tsmlocar tsmlomar tsmulmar tspears tspred tsroot tstvcar tsunimar valset varmacov varmalik varmasim vnormal vtsroot wavft wavget wavift wavprint wavthrsh contained syn region sasIMLFunctionContext start='(' end=')' contained contains=@sasBasicSyntax,sasIMLFunction syn match sasIMLFunction '\v<\w+\ze\(' contained contains=sasIMLFunctionName,sasDataStepFunction nextgroup=sasIMLFunctionContext syn keyword sasIMLControl abort by do else end finish goto if link pause quit resume return run start stop then to until while contained syn keyword sasIMLStatementKeyword append call close closefile create delete display edit file find force free index infile input list load mattrib print purge read remove replace reset save setin setout show sort store summary use window contained syn match sasIMLStatement '\v%(^|;)\s*\zs\h\w*>' display contained contains=sasIMLStatementKeyword,sasGlobalStatementKeyword syn match sasIMLStatement '\v%(^|;)\s*\zsods>' display contained contains=sasGlobalStatementKeyword nextgroup=sasGlobalStatementODSKeyword skipwhite skipnl skipempty syn region sasIML matchgroup=sasSectionKeyword start='\v%(^|;)\s*\zsproc\s+iml>' end='\v%(^|;)\s*%(quit|data|proc|endsas)>'me=s-1 fold contains=@sasBasicSyntax,sasIMLFunction,sasIMLControl,sasIMLStatement " Macro definition syn region sasMacro start='\v\%macro>' end='\v\%mend>' fold keepend contains=@sasBasicSyntax,@sasDataStepSyntax,sasDataStep,sasProc,sasODSGraphicsProc,sasGraphProc,sasAnalyticalProc,sasProcTemplate,sasProcSQL,sasDS2,sasIML " Define default highlighting hi def link sasComment Comment hi def link sasTodo Delimiter hi def link sasSectLbl Title hi def link sasSectLblEnds Comment hi def link sasNumber Number hi def link sasDateTime Constant hi def link sasString String hi def link sasDataStepControl Keyword hi def link sasProcTemplateClause Keyword hi def link sasProcSQLClause Keyword hi def link sasDS2Control Keyword hi def link sasIMLControl Keyword hi def link sasOperator Operator hi def link sasGlobalStatementKeyword Statement hi def link sasGlobalStatementODSKeyword Statement hi def link sasSectionKeyword Statement hi def link sasDataStepFunctionName Function hi def link sasDataStepCallRoutineName Function hi def link sasDataStepStatementKeyword Statement hi def link sasDataStepStatementHashKeyword Statement hi def link sasDataStepHashOperator Operator hi def link sasDataStepHashMethodName Function hi def link sasDataStepHashAttributeName Identifier hi def link sasProcStatementKeyword Statement hi def link sasODSGraphicsProcStatementKeyword Statement hi def link sasGraphProcStatementKeyword Statement hi def link sasAnalyticalProcStatementKeyword Statement hi def link sasProcTemplateStatementKeyword Statement hi def link sasProcTemplateStatementComplexKeyword Statement hi def link sasProcTemplateGTLStatementKeyword Statement hi def link sasProcTemplateGTLComplexKeyword Statement hi def link sasProcSQLFunctionName Function hi def link sasProcSQLStatementKeyword Statement hi def link sasProcSQLStatementComplexKeyword Statement hi def link sasProcSQLStatementNextKeyword Statement hi def link sasDS2FunctionName Function hi def link sasDS2StatementKeyword Statement hi def link sasIMLFunctionName Function hi def link sasIMLCallRoutineName Function hi def link sasIMLStatementKeyword Statement hi def link sasMacroReserved PreProc hi def link sasMacroVariable Define hi def link sasMacroFunctionName Define hi def link sasDataLine SpecialChar hi def link sasFormat SpecialChar hi def link sasReserved Special " Syncronize from beginning to keep large blocks from losing " syntax coloring while moving through code. syn sync fromstart let b:current_syntax = "sas" let &cpo = s:cpo_save unlet s:cpo_save