# Copyright (C) 1996-2004 by Salvador E. Tropea (SET),
# see copyrigh file for details
#
# Syntax highlight file for SET's editor

# UseInternal values:
# shlCSyntax=1 shlPascalSyntax=2 shlClipperSyntax=3

# Put the Case switch before the rest!

# ---------------- C/C++ ----------------
# Here are the definitions for C/C++, but the UseInternal forces to use
# the built-in routines.

Name=C/C++
Files=c,cpp,cxx,cc,h,hpp,i,ii,cgz,hh,C,CPP,H
EmacsModes=C++
UseInternal=1
Case=1
OpenComment1=/*
CloseComment1=*/
EOLComment1=//
HexMarker=0x
Symbols1=!&*+-./:<=>?^|~
Symbols2=(){}[],;
String1="
String2='
Escape=\
Preprocessor=#
PMacros=cpmacros.pmc
Preload
Keywords=asm,auto,bool,break,case,catch,char,class,const,continue,default
Keywords=delete,do,double,else,enum,except,extern,false,far,finally,float,for
Keywords=friend,goto,huge,if,inline,int,long,near,new,operator,private
Keywords=protected,public,register,return,short,signed,sizeof,static,struct
Keywords=switch,template,this,throw,true,try,typedef,typename,union,unsigned
Keywords=using,virtual,void,volatile,while
End

# ---------------- Pascal ----------------
Name=Pascal
Files=pas,inc,p
EmacsModes=Pascal
UseInternal=2
OpenComment1={
CloseComment1=}
OpenComment2=(*
CloseComment2=*)
HexMarker=$
Symbols1=*+-./:<=>@#
Symbols2=()[],;
String1='
Keywords=abs,absolute,and,arctan,array,asm,assembler,array,begin,boolean
Keywords=byte,bytebool,case,char,chr,const,constructor,cos,destructor
Keywords=dispose,div,do,downto,else,end,eof,eoln,exp,export,exports,external
Keywords=far,forward,file,for,function,get,goto,if,implementation,in,index
Keywords=inherited,inline,integer,interface,interrupt,label,library,ln
Keywords=longbool,longint,mod,near,new,nil,not,object,odd,of,or,ord,ordinal
Keywords=pack,packed,page,pred,private,pointer,procedure,program,public,put
Keywords=readln,read,real,record,repeat,reset,resident,rewrite,round,set,shl
Keywords=shortint,shr,sin,sqrt,string,succ,then,to,trunc,type,unit,unpack
Keywords=until,uses,var,virtual,while,with,word,wordbool,write,writeln,xor
End

# ---------------- Modula 2 ----------------
Name=Modula 2
Files=mod,def
OpenComment1=(*
CloseComment1=*)
Symbols1=%&()*+,-./:;<=>[]^{|}~
String1="'
Keywords=abs,and,array,begin,bitset,boolean,by,cap,cardinal,case,char,chr
Keywords=const,dec,definition,dispose,div,do,else,elsif,end,excl,exit,export
Keywords=float,for,from,halt,high,if,implementation,import,incl,inc,integer
Keywords=in,longcard,longfloat,longint,longord,longreal,longtrunc,long,loop
Keywords=max,min,module,mod,new,not,odd,of,ord,or,pointer,procedure
Keywords=qualified,real,record,repeat,return,set,short,size,then,to,trunc
Keywords=type,until,val,var,while,with
End

# ---------------- Ada ----------------
Name=Ada
Files=adb,ads
EOLComment1=--
Symbols1=!&()*+,-./:;<=>?[]^{|}~
String1="
String2='
AllowedInsideNames='
Keywords=abort,abs,abstract,accept,access,aliased,all,and,array,at,begin
Keywords=body,case,constant,declare,delay,delta,digits,do,else,elsif,end
Keywords=entry,exception,exit,for,function,generic,goto,if,in,is,limited
Keywords=loop,mod,new,not,null,of,or,others,out,package,raise,range,record
Keywords=rem,renames,requeue,return,reverse,select,separate,subtype,tagged
Keywords=task,terminate,then,type,until,use,when,while,with,xor
End

# ---------------- BASIC ----------------
Name=BASIC
Files=bas
EOLComment1=rem
EOLComment2='
Symbols1=!()*+-/<=>^#
String1="
AllowedInsideNames=$
Keywords=abs,and,any,as,asc,atn,base,call,case,cdbl,chdir,chr$,cint,circle
Keywords=clear,clng,close,cls,color,com,const,cos,csng,csrlin,cvdmbf,cvsmbf
Keywords=data,declare,def,defint,dim,do,else,end,eof,erase,erdev,erdev$,erl
Keywords=err,error,exit,exp,fileattr,for,fre,freefile,function,get,gosub,goto
Keywords=hex$,if,inkey$,inp,input,input$,instr,int,integer,key,kill,lcase$
Keywords=left$,len,line,loc,locate,lock,lof,log,loop,lpos,lprint,lset,ltrim$
Keywords=mid$,mkdir,name,next,not,oct$,on,open,option,or,out,paint,palette
Keywords=pcopy,peek,pen,play,pmap,point,poke,pos,preset,print,pset,put
Keywords=randomize,read,redim,repeat,restore,resume,return,right$,rmdir,rnd
Keywords=rset,rtrim$,run,screen,seek,seg,select,sgn,shared,shell,sin,space$
Keywords=spc,sqr,static,step,stop,str$,strig,string$,sub,swap,system,tab,tan
Keywords=then,time$,timer,to,type,ucase$,unlock,until,using,val,view,wait
Keywords=width,window,write
# Remove these keywords if you are using a BASIC that doesn't support it:
# (they are used by QBasic)
Keywords=while,string,single,double,long,wend
End

# ---------------- 4DOS batch files ----------------
#
# Slight mods. by Robin Y. Millette <millette@bigfoot.com> noted 'RYM'
#
Name=4DOS batch files
Files=bat,btm
EOLComment1=rem
Symbols1=%&(),<=>@[]^|!
Symbols2=/\:;
AllowedInsideNames=.*?-
String1=`
Escape=
RelaxNumberCheck=1
Keywords=alias,attrib,beep,break,by,call,cancel,cd,cdd,chcp,chdir,cls
Keywords=color,copy,ctty,date,delay,del,describe,dirs,dir,do,drawbox
Keywords=drawhline,drawvline,,echos,echo,else,elseiff,enddo,endiff,endlocal
Keywords=erase,errorlevel,eset,except,exist,exit,fc,find,format,for,free
Keywords=global,gosub,goto,history,iff,if,inkey,input,iterate,keybd,leave
Keywords=lh,list,loadbtm,loadhigh,log,md,memory,mem,mkdir,mode,more,move
Keywords=not,on,path,pause,popd,print,prompt,pushd,quit,rd,reboot,rename
Keywords=ren,replace,return,rmdir,screen,scrput,select,setdos,setlocal
Keywords=setver,set,shift,sort,start,subst,sys,tee,text,then,timer,time,to
Keywords=tree,type,unalias,undelete,unset,until,verify,ver,vol,vscrput,while
Keywords=window,xcopy
# -- RYM 1999/02/15: added keywords from version 6 [begin]     --
# --                 and, or and xor are already above, but I  --
# --                 noticed the clipper shl use this notation --
Keywords=switch,case,default,endswitch,touch,echo.
Keywords=.and.,.or.,.xor.,eq,ne,lt,le,ge,gt
Keywords=defined,isalias,isdir,direxist,isinternal,islabel
CanStartAName=.
EOLComment2=:
# -- RYM 1999/02/15: added keywords from version 6 [end]       --
EOLCInFirstCol=1
End

# ---------------- 80x86 asm (AT&T syntax) ----------------
Name=80x86 asm (AT&T syntax)
Files=s,S
OpenComment1=/*
CloseComment1=*/
EOLComment1=#
EOLComment2=//
HexMarker=0x
Symbols1=!$%&(),-./:;<>?[]
String1="
String2="
AllowedInsideNames=$.
CanStartAName=.
Keywords=aaa,aad,aam,aas,adc,adcb,adcw,adcl,add,addb,addw,addl,and,andb,andw
Keywords=andl,arpl,bound,bsf,bsr,bswap,bt,btc,btr,bts,lcall,call,cbw,cbtw,cdq
Keywords=cltd,clc,cld,cli,clts,cmc,cmp,cmpb,cmpw,cmpl,cmps,cmpsb,cmpsw,cmpsl
Keywords=cmpxchg,cwd,cwtd,cwde,cwtl,daa,das,dec,decb,decw,decl,div,divw,divl
Keywords=enter,esc,hlt,idiv,idivw,idivl,imul,imulw,imull,in,inb,inw,inl,inc
Keywords=incb,incw,incl,ins,insb,insw,insl,int,into,invd,invlpg,iret,iretd,ja
Keywords=jae,jb,jbe,jc,je,jg,jge,jl,jle,jmp,jna,jnae,jnb,jnbe,jnc,jne,jng
Keywords=jnge,jnl,jnle,jno,jnp,jns,jnz,jo,jp,jpe,jpo,js,jz,jcxz,jecxz,jmp
Keywords=ljmp,lahf,lar,lds,lea,leaw,leal,leave,les,lfs,lgdt,lidt,lgs,lldt
Keywords=lmsw,lock,lods,lodsb,lodsw,lodsl,loop,loope,loopz,loopnz,loopne,lsl
Keywords=lss,ltr,mov,movb,movw,movl,movs,movsb,movsw,movsl,movsx,movsbl
Keywords=movsbw,movswl,movzx,movzbl,movzbw,movzwl,mul,mulw,mull,neg,negb,negw
Keywords=negl,nop,not,notb,notw,notl,or,orb,orw,orl,out,outb,outw,outl,outs
Keywords=outsb,outsw,outsl,pop,popb,popw,popl,popa,popad,popf,popfd,push
Keywords=pushb,pushw,pushl,pusha,pushad,pushf,pushfd,rcl,rclb,rclw,rcll,rcr
Keywords=rcrb,rcrw,rcrl,rep,repe,repz,repne,repnz,ret,retf,rol,rolb,rolw,roll
Keywords=ror,rorb,rorw,rorl,sahf,sal,salb,salw,sall,shl,shlb,shlw,shll,sar
Keywords=sarb,sarw,sarl,sbb,sbbb,sbbw,sbbl,scas,scasb,scasw,scasl,setae,setnb
Keywords=setb,setnae,setbe,setna,sete,setz,setne,setnz,setl,setnge,setge
Keywords=setnl,setle,setng,setg,setnle,sets,setns,setc,setnc,seto,setno,setp
Keywords=setpe,setnp,setpo,sgdt,sidt,shl,shlb,shlw,shll,shr,shrb,shrw,shrl
Keywords=shld,shldb,shldw,shldl,shrd,shrdb,shrdw,shrdl,sldt,smsw,stc,std,sti
Keywords=stos,stosb,stosw,stosl,str,sub,subb,subw,subl,test,testb,testw,testl
Keywords=verr,verw,wait,fwait,wbinvd,xchg,xchgb,xchgw,xchgl,xlat,xlatb,xor
Keywords=xorb,xorw,xorl,ax,eax,ah,al,bx,ebx,bh,bl,cx,ecx,ch,cl,dx,edx,dh,dl
Keywords=si,esi,di,edi,sp,esp,bp,ebp,cs,ds,ss,es,fs,gs
# GAS specific
Keywords=.abort,.ABORT,.align,.app-file,.ascii,.asciz,.balign,.byte,.comm
Keywords=.data,.def,.desc,.dim,.double,.eject,.else,.endef,.endif,.equ
Keywords=.extern,.file,.fill,.float,.global,.hword,.ident,.if,.include
Keywords=.int,.irp,.irpc,.lcomm,.lflags,.line,.ln,.linkonce,.list,.long
Keywords=.macro,.mri,.nolist,.octa,.org,.p2align,.psize,.quad,.rept
Keywords=.sbttl,.scl,.section,.set,.short,.single,.size,.skip,.space
Keywords=.stabd,.stabn,.stabs,.string,.tag,.text,.title,.type,.val,.word
Keywords=.globl
End

# ---------------- 80x86 asm (Intel syntax) ----------------
Name=80x86 asm (Intel syntax)
Files=asm
OpenComment1=/*
CloseComment1=*/
EOLComment1=;
EOLComment2=//
HexMarker=0x
Symbols1=!$%&(),-./:<>?[]
String1='"
Keywords=aaa,aad,aam,aas,adc,add,and,arpl,bound,bsf,bsr,bswap,bt,btc,btr,bts
Keywords=byte,call,cbw,cdq,clc,cld,cli,clts,cmc,cmp,cmps,cmpsb,cmpsw,cmpsl
Keywords=cmpxchg,cwd,cwde,daa,das,dec,div,enter,esc,hlt,idiv,imul,in,inb,inw
Keywords=inl,inc,ins,insb,insw,insl,int,into,invd,invlpg,iret,ja,jae,jb,jbe
Keywords=jc,je,jg,jge,jl,jle,jmp,jna,jnae,jnb,jnbe,jnc,jne,jng,jnge,jnl,jnle
Keywords=jno,jnp,jns,jnz,jo,jp,jpe,jpo,js,jz,jcxz,jecxz,jmp,lahf,lar,lds,lea
Keywords=leave,les,lfs,lgdt,lidt,lgs,lldt,lmsw,lock,lods,lodsb,lodsw,lodsl
Keywords=long,loop,loope,loopz,loopnz,loopne,lsl,lss,ltr,mov,movs,movsb,movsw
Keywords=movsl,movsx,movzx,mul,neg,nop,not,or,out,outb,outw,outl,outs,outsb
Keywords=outsw,outsl,pop,popa,popad,popf,popfd,ptr,push,pusha,pushad,pushf
Keywords=pushfd,rcl,rcr,rep,repe,repz,repne,repnz,ret,retf,rol,ror,sahf,sal
Keywords=shl,sar,sbb,scas,setae,setnb,setb,setnae,setbe,setna,sete,setz,setne
Keywords=setnz,setl,setnge,setge,setnl,setle,setng,setg,setnle,sets,setns
Keywords=setc,setnc,seto,setno,setp,setpe,setnp,setpo,sgdt,sidt,shl,shr,shld
Keywords=shrd,sldt,smsw,stc,std,sti,stos,stosb,stosw,stosl,str,sub,test,verr
Keywords=verw,wait,fwait,wbinvd,word,xchg,xlat,xlatb,xor,ax,eax,ah,al,bx,ebx
Keywords=bh,bl,cx,ecx,ch,cl,dx,edx,dh,dl,si,esi,di,edi,sp,esp,bp,ebp,cs,ds,ss
Keywords=es,fs,gs
End

# ---------------- Clipper ----------------
Name=Clipper 5.x
Files=prg,ch,PRG,CH
UseInternal=3
OpenComment1=/*
CloseComment1=*/
EOLComment1=//
EOLComment2=&&
Symbols1=%&()*+,-./:;<=>[]^{|}~@
String1="'
Preprocessor=#
AllowedInsideNames=.
CanStartAName=.
PMacros=clippmac.pmc
Keywords=announce,begin,break,call,case,declare,do,else,elseif,endcase,enddo
Keywords=endif,exit,external,field,for,function,if,iif,in,init,local,loop
Keywords=memvar,next,otherwise,parameters,private,procedure,public,recover
Keywords=return,sequence,static,step,text,to,then,using,with,while
Keywords=.and.,.or.,.not.,.t.,.f.
End

# ----------- HTML, that's really bad!, sorry ---------------
Name=HTML
Files=htm,html,sht,shtml,HTM,HTML
OpenComment1=<!--
CloseComment1=-->
AllowedInsideNames=/!-
CanStartAName=<
String1="
Escape=\
Symbols1=>=,;{}()[]%
NoCheckNumbers=1
PMacros=htmlmac.pmc
Keywords=break,case,continue,default
Keywords=do,else,for,goto,if,return,switch,this,while
Keywords=<a,<script,</script,href,<img,src,<pre,<p,</p,</a,<br,<b,http-equiv
Keywords=</b,</pre,<xmp,</xmp,<table,</table,<center,</center,<i,</i
Keywords=<h1,</h1,<h2,</h2,<h3,</h3,<h4,</h4,<h5,</h5,<h6,</h6
Keywords=<td,</td,<tr,</tr,<li,</li,<menu,</menu,<u,</u,<font,</font,<hr
Keywords=<title,</title,<html,</html,<head,</head,<meta,width,height,<body,</body
Keywords=align,valign,<applet,<param,name,value,archive,code,codebase
Keywords=</applet,alt,ismap,border,face,size,target,cellspacing,hspace,vspace
Keywords=cellpadding,bgcolor,color,nowrap,center,bottom,left,right,colspan
Keywords=<form,</form,methode,post,action,<input,type,top,_top,<tt,</tt,class
Keywords=content,<map,</map,<area,shape,coords,nohref,onclick,onmouseover
Keywords=rowspan,<blockquote,</blockquote,<em,</em,text,link,vlink,<ul,</ul
Keywords=<ol,</ol,method,enctype,maxlength,<textarea,rows,cols,</textarea
Keywords=<dl,</dl,<dt,<option,<select,</select,selected,onUnLoad,<sup,</sup
Keywords=background,scrolling,noresize,frameborder,onload,alink,language
Keywords=<div,</div,<frameset,</frameset,<noframes,</noframes,<frame,</frame
Keywords=<strong,</strong,<dd,<base,<cite,</cite,<code,</code,</option,<nobr
Keywords=<sub,</sub,<th,</th,<blink,</blink,<noscript,</noscript
Keywords=style,clear,<link,<style,</style,<col,<colgroup,</colgroup
Keywords=<tbody,</tbody,<thead,</thead,<tfoot,</tfoot,rel,rev,<!doctype
End

# ---------------- SDG Format files ----------------
#   These are the format files for the SET's
# Documentation Generator
Name=SDG Format
Files=frt
EmacsModes=sdg
EOLComment1=#
EOLCInFirstCol1=1
AllowedInsideNames=]@
CanStartAName=[@(
String1="
String2='
Escape=\
Case=1
NoCheckNumbers=1
Symbols1==,~{}()
Keywords=[Delimiters],[Variables],[Associations],[Replace],[GenNode]
Keywords=[GenMenu],[GenAssoMain],[GenAssoRest],[GenMain],[Commands]
Keywords=[DefinedCommands],[ASCIIConvert],[Configuration]
Keywords=CommandLine,Name,SectionStart,SectionEnd,AddDefinition
Keywords=Distinguish,AddAssoc,Constant,EndOfPar,BreakLine,CrossRef,Double@
Keywords=Start,Entry,End,(if,(cutCprot,(print
End

# ---------------- PMacros Files ----------------
#   For the editor's pmacros files.
#
Name=PMacros file
Files=pmc
EOLComment1=;
EOLCInFirstCol1=1
AllowedInsideNames=:
String1="
Escape=\
Case=1
Symbols1=,
NoCheckNumbers=1
Keywords=Trigger:,Mode:,Name:
End

# ---------------- Syntax Highlight Files ----------------
#   For this file ;-P.
#
Name=Syntax Highlight File
Files=shl
EOLComment1=#
EOLCInFirstCol1=1
Symbols1=,=
NoCheckNumbers=1
Keywords=Name,Files,OpenComment1,CloseComment1,OpenComment2,CloseComment2
Keywords=EOLComment1,EOLComment2,HexMarker,Symbols1,Symbols2,String1,String2
Keywords=Escape,Preprocessor,Case,UseInternal,Keywords,AllowedInsideNames
Keywords=CanStartAName,PMacros,End,NoCheckNumbers,EOLCInFirstCol,Preprocessor2
Keywords=String3,PartialKeywords,ShortString,SpecialSymbol,SpecialSymbolCont
Keywords=RelaxNumberCheck,EmacsModes,ShellScript,EOLCInFirstCol2,FullNameMatch
Keywords=EOLCInFirstUse1,EOLCInFirstUse2,EOLCInFirstCol1,NameMatch
Keywords=EscapeAnywhere,Preload
End

# ---------------- sLisp Files ----------------
#   For the editor's macros files.
#
Name=sLisp macros
Files=slp
EOLComment1=;
String1="
String2='
Escape=\
Case=1
HexMarker=0x
Symbols1=()
Symbols2=+-&|~=!
Keywords=InsertText,SendCommands,SendCommSel,defmacro,eval,CR,RunProgram,not
Keywords=WhichEditor,GetSelection,left,right,substr,sstr,gstr,setv,strxlt,if
Keywords=WordUnderCursor,RunProgramRedir,ShowInStatusLine,ComplChoose,getenv
Keywords=or,and,GetSyntaxAtCursor,ForceUpdate,ShortFileName,AskString,strcmp
Keywords=strcasecmp,length,strstr,OpenFile,print,MessageBox,progn,EvalString
Keywords=cond,ShowInMessageWindow,SelectionExists,FindString,loop,GetCursorX
Keywords=GetCursorY,SetCursorXY,repeat,GetSyntaxLang,FindAgain,ReplaceString
Keywords=exitloop,ReplaceAgain,BindKey,SelectWindowNumber,GetCurWindowNumber
Keywords=GetMaxWindowNumber,KeyBindings,tostr,prex,GetSystemInfo
# Flags
Keywords=edfComInside,edfEndCom,edfEndCom2,edfExtCom,edfExtCom2,edfExtOneLineCom
Keywords=edfExtPrepro,edfExtString,edfExtString2,edfExtString3,edfInsideCom
Keywords=edfInsideCom2,edfMBCancelButton,edfMBConfirmation,edfMBError
Keywords=edfMBInformation,edfMBNoButton,edfMBOKButton,edfMBOKCancel,edfMBWarning
Keywords=edfMBYesButton,edfMBYesNoCancel,edfPrepro,edfRunNoRedirect,edfRunUserScreen
Keywords=edfStartCom,edfStartCom2,edfStartInCom,edfStartInCom2,edfStartString
Keywords=edfStartString2,edfStartString3,edfWEDisk,edfWEExtension,edfWEFull
Keywords=edfWEFullNoExt,edfWENameNoExt,edfWEPath,edfBasicRegEx,edfCaseSensitive
Keywords=edfDoReplace,edfExtendedRegEx,edfFromBeggining,edfFromCursor,edfInSelection
Keywords=edfNoOptimizeRegEx,edfNormalText,edfOnlySelection,edfOptimizeRegEx
Keywords=edfPerlRegEx,edfPromptOnReplace,edfRegularEx,edfReplaceAll,edfSearchInComm
Keywords=edfSearchOutComm,edfShowFuncName,edfTagsText,edfWholeWordsOnly
Keywords=edfWinASCII,edfWinCalendar,edfWinClipboard,edfWinHelp,edfWinMP3,edfWinMan
Keywords=edfWinMessage,edfWinPrj,edfInfTVDriver,edfInfOS,edfInfOSFlavor
Keywords=edfInfCPU,edfInfCompiler,edfInfCompilerFlavor
End

# ---------------- Menu File ------------------
#
Name=Menu File
Files=smn
EOLComment1=#
EOLCInFirstCol1=1
String1="
Symbols1=:,
Preprocessor=$
HexMarker=0x
Keywords=SubMenu,MenuItem,MenuItemC,MenuSeparator,EndSubMenu
Keywords=StatusRange,StatusEntry,StatusHiddenEntry,EndStatusRange,NewMenu
End

#----------------------- Netwide Assembler (nasm) -------------------------
#
#
Name=Netwide Assembler
Files=nsm
OpenComment1=/*
CloseComment1=*/
EOLComment1=//
EOLComment2=;
HexMarker=0x
Symbols1=!&*+-./:<=>?^|~
Symbols2=(){}[],;
String1="
String2='
Escape=\
Preprocessor=#
Preprocessor2=%
Keywords=sets,setpo,setpe,setp,seto,setnz,setns,setnp
Keywords=setno,setnle,setnl,setnge,setng,setne,setnc,setnbe
Keywords=setnb,setnae,setna,setle,setl,setge,setg,setz
Keywords=sete,setc,setbe,setb,setae,seta,js,jpo
Keywords=jpe,jp,jo,jnz,jns,jnp,jno,jnle
Keywords=jnl,jnge,jng,jne,jnc,jnbe,jnb,jnae
Keywords=jna,jle,jl,jge,jg,jz,je,jc
Keywords=jbe,jb,jae,ja,cmovs,cmovpo,cmovpe,cmovp
Keywords=cmovo,cmovnz,cmovns,cmovnp,cmovno,cmovnle,cmovnl,cmovnge
Keywords=cmovng,cmovne,cmovnc,cmovnbe,cmovnb,cmovnae,cmovna,cmovle
Keywords=cmovl,cmovge,cmovg,cmovz,cmove,cmovc,cmovbe,cmovb
Keywords=cmovae,cmova,xor,xlatb,xchg,xbts,xadd,wrmsr
Keywords=wbinvd,wait,verw,verr,umov,test,sub,str
Keywords=stosw,stosd,stosb,sti,std,stc,smsw,smi
Keywords=sldt,sidt,shrd,shr,shld,shl,sgdt,scasw
Keywords=scasd,scasb,sbb,sar,salc,sal,sahf,rsm
Keywords=ror,rol,retn,retf,ret,resw,rest,resq
Keywords=resd,resb,rdtsc,rdpmc,rdmsr,rcr,rcl,pxor
Keywords=pushfw,pushfd,pushf,pushaw,pushad,pusha,push,punpcklwd
Keywords=punpckldq,punpcklbw,punpckhwd,punpckhdq,punpckhbw,psubw,psubusw,psubusb
Keywords=psubsw,psubsiw,psubsb,psubd,psubb,psrlw,psrlq,psrld
Keywords=psraw,psrad,psllw,psllq,pslld,por,popfw,popfd
Keywords=popf,popaw,popad,popa,pop,pmvzb,pmvnzb,pmvlzb
Keywords=pmvgezb,pmullw,pmulhw,pmulhriw,pmulhrw,pmagw,pmaddwd,pmachriw
Keywords=pdistib,pcmpgtw,pcmpgtd,pcmpgtb,pcmpeqw,pcmpeqd,pcmpeqb,paveb
Keywords=pandn,pand,paddw,paddusw,paddusb,paddsw,paddsiw,paddsb
Keywords=paddd,paddb,packuswb,packsswb,packssdw,outsw,outsd,outsb
Keywords=out,or,not,nop,neg,mul,movzx,movsx
Keywords=movsw,movsd,movsb,movq,movd,mov,ltr,lss
Keywords=lsl,loopz,loopnz,loopne,loope,loop,lodsw,lodsd
Keywords=lodsb,loadall286,loadall,lmsw,lldt,lidt,lgs,lgdt
Keywords=lfs,les,leave,lea,lds,lar,lahf,jmp
Keywords=jecxz,jcxz,iretw,iretd,iret,invlpg,invd,into
Keywords=int3,int1,int01,int,insw,insd,insb,incbin
Keywords=inc,in,imul,idiv,icebp,ibts,hlt,fyl2xp1
Keywords=fyl2x,fxtract,fxch,fxam,fucompp,fucomp,fucomip,fucomi
Keywords=fucom,ftst,fsubrp,fsubr,fsubp,fsub,fstsw,fstp
Keywords=fstenv,fstcw,fst,fsqrt,fsincos,fsin,fsetpm,fscale
Keywords=fsave,frstor,frndint,fptan,fprem1,fprem,fpatan,fnstsw
Keywords=fnstenv,fnstcw,fnsave,fnop,fninit,fneni,fndisi,fnclex
Keywords=fmulp,fmul,fldz,fldpi,fldln2,fldlg2,fldl2t,fldl2e
Keywords=fldenv,fldcw,fld1,fld,fisubr,fisub,fistp,fist
Keywords=finit,fincstp,fimul,fild,fidivr,fidiv,ficomp,ficom
Keywords=fiadd,ffree,feni,fdivrp,fdivr,fdivp,fdiv,fdisi
Keywords=fdecstp,fcos,fcompp,fcomp,fcomip,fcomi,fcom,fcmovu
Keywords=fcmovnu,fcmovne,fcmovnbe,fcmovnb,fcmove,fcmovbe,fcmovb,fclex
Keywords=fchs,fbstp,fbld,faddp,fadd,fabs,f2xm1,equ
Keywords=enter,emms,dw,dt,dq,div,dec,dd
Keywords=db,das,daa,cwde,cwd,cpuid,cmpxchg8b,cmpxchg486
Keywords=cmpxchg,cmpsw,cmpsd,cmpsb,cmp,cmc,clts,cli
Keywords=cld,clc,cdq,cbw,call,bts,btr,btc
Keywords=bt,bswap,bsr,bsf,bound,arpl,and,add
Keywords=adc,aas,aam,aad,aaa,ax,bx,cx,dx,si,di,bp,sp
Keywords=eax,ebx,ecx,edx,esi,edi,ebp,esp
Keywords=ah,al,bh,bl,ch,cl,dh,dl
Keywords=cs,ss,ds,es,fs,gs
Keywords=cr0,cr2,cr3,cr4
Keywords=dr1,dr2,dr3,dr6,dr7
Keywords=tr3,tr4,tr5,tr6,tr7
Keywords=mm0,mm1,mm2,mm3,mm4,mm5,mm6,mm7
Keywords=st0,st1,st2,st3,st4,st5,st6,st7
Keywords=byte,dword,far,long,near,nosplit,qword,short,tword,word
Keywords=a16,a32,o16,o32,lock,rep,repe,repne,repz,repnz, times
Keywords=struc,endstruc,istruct,at,iend,align,alignb,extern,global
Keywords=common,private,public,stack,class,overlay,use16,use32,flat
Keywords=group,uppercase,import,export,resident,nodata,data,code,bss,parm
Keywords=info,alloc,exec,write,progbits,gotpc,gotoff,got,plt,sym,start
Keywords=function,library
Keywords=incbin,wrt,seg,bits,section,segment,absolute,org
End

#---------------------------------- Perl ------------------------------------
#
# Original version contributed by Herb Kateley (herb@ke.com).  Another version
# was contributed by Jeff Wang (jeffw@enterprise.advance.com).  What you see
# here is the merger of those two, with other modifications.  The "font normal"
# line exists to prevent $# from being interpretted as a plain dollar sign
# followed by a comment.
# Ported to Set Editor by Daniel Mizyrycki (mdaniel@balug.org.ar)
#
# Adjusted by SET to make it closer to the real Perl syntax.
#
Name=Perl
Files=pl,pm
EmacsModes=Perl
ShellScript=perl
EOLComment1=#
HexMarker=0x
Symbols1=!&*+-:<=>?^|$~@\
Symbols2=(){}[],;
Escape=\
EscapeAnywhere=1
String1="
String2='
String3=`
# $# is a special case and can be confused with a comment
SpecialSymbol=$
SpecialSymbolCont=#
PMacros=perlmac.pmc
Preload
Keywords=BEGIN,END,CORE,__END__,__FILE__,__LINE__,AUTOLOAD,DESTROY
Keywords=abs,accept,alarm,and,atan2,bind,binmode,bless,caller,chdir,chmod
Keywords=chomp,chop,chown,chr,chroot,close,closedir,cmp,connect,continue,cos
Keywords=crypt,dbmclose,dbmopen,defined,delete,die,do,dump,each,else,elsif
Keywords=endgrent,endhostent,endnetent,endprotoent,endpwent,endservent,eof
Keywords=eq,eval,exec,exists,exit,exp,fcntl,fileno,flock,for,foreach,fork
Keywords=format,formline,ge,getc,getgrent,getgrgid,getgrnam,gethostbyaddr
Keywords=gethostbyname,gethostent,getlogin,getnetbyaddr,getnetbyname
Keywords=getnetent,getpeername,getpgrp,getppid,getpriority,getprotobyname
Keywords=getprotobynumber,getprotoent,getpwent,getpwnam,getpwuid
Keywords=getservbyname,getservbyport,getservent,getsockname,getsockopt
Keywords=glob,gmtime,goto,grep,gt,hex,if,index,int,ioctl,join,keys,kill
Keywords=last,lc,lcfirst,le,length,link,listen,local,localtime,log,lstat
Keywords=lt,m,map,mkdir,msgctl,msgget,msgrcv,msgsnd,my,ne,next,no,not,oct
Keywords=open,opendir,or,ord,pack,package,pipe,pop,pos,print,printf,push,q
Keywords=qq,quotemeta,qw,qx,rand,read,readdir,readline,readlink,readpipe
Keywords=recv,redo,ref,rename,require,reset,return,reverse,rewinddir,rindex
Keywords=rmdir,s,scalar,seek,seekdir,select,semctl,semget,semop,send,setgrent
Keywords=sethostent,setnetent,setpgrp,setpriority,setprotoent,setpwent
Keywords=setservent,setsockopt,shift,shmctl,shmget,shmread,shmwrite,shutdown
Keywords=sin,sleep,socket,socketpair,sort,splice,split,sprintf,sqrt,srand
Keywords=stat,study,sub,substr,symlink,syscall,sysread,system,syswrite,tell
Keywords=telldir,tie,time,times,tr,truncate,uc,ucfirst,umask,undef,unless
Keywords=unlink,unpack,unshift,untie,until,use,utime,values,vec,wait,waitpid
Keywords=wantarray,warn,while,write,x,xor,y
End


# ---------------------------- 8051 asm ------------------------------------
#
# Contributed by Alex Lozano <alex@inti.gov.ar>
# Keil A51 (8 bit) and A251 (16 bit) assembler for 8x51/52 and MCS 251
# Extracted from the Keil A51/A251 User's Guide version 04.95
# This replace the former 8051 Syntax Highlight definition
# Compatible with the 'ASM51' CrossAssembler (freeware Version) by MetaLink
#
Name=8x51 asm
Files=a51,inc
EmacsModes=Asm51,Asm251
Pmacros=asm51.pmc
Preprocessor=$
EOLComment1=;
Escape=\
Symbols1=-+*/=
Symbols2=#@!$%&(),.:<>?[]
String1='"
AllowedInsideNames=.
NoCheckNumbers=1
# HexMarker only valid for A251 Assembler
HexMarker=0x
# A51, A251 Reserved Words
Keywords=a,ab,and,ar0,ar1,ar2,ar3,ar4,ar5,ar6,ar7,at,bit,bitaddressable,block
Keywords=bseg,byte,byte0,byte1,byte2,byte3,c,call,code,const,cseg,data,db,dbit
Keywords=dd,dptr,dr0,dr12,dr16,dr20,dr24,dr28,dr4,dr56,dr60,dr8,ds,dsb,dsd
Keywords=dseg,dsw,dw,dword,ebit,ebitaddressable,ecode,edata,else,elseif,end
Keywords=endif,endm,endp,eq,equ,even,exitm,extern,extrn,far,ge,gt,hconst
Keywords=hdata,high,idata,if,inblock,inpage,inseg,irp,irpc,iseg,label,le,lit
Keywords=local,low,lt,macro,mod,h,name,nconst,ne,near,not,nul,number,offs,or
Keywords=org,overlayable,page,pc,proc,public,r0,r1,r2,r3,r4,r5,r6,r7,r8,r9
Keywords=r10,r11,r12,r13,r14,r15,rept,rseg,seg,segment,set,shl,shr,unit,using
Keywords=word,word0,word2,wr0,wr2,wr4,wr6,wr8,wr10,wr12,wr14,wr16,wr18,wr20
Keywords=wr22,wr24,wr26,wr28,wr30,xdata,xor,xseg
# 8051 Instruction Set
Keywords=acall,add,addc,ajmp,anl,cjne,clr,cmp,cpl,da,dec,div,djnz,inc,jb,jbc
Keywords=jc,jmp,jnb,jnc,jnz,jz,lcall,ljmp,mov,movc,movx,mul,nop,orl,pop
Keywords=push,ret,reti,rl,rlc,rr,rrc,setb,sjmp,subb,swap,xch,xchd,xrl
# MCS 251 added Instruction Set
Keywords=ecall,ejmp,eret,je,jg,jle,jne,jsg,jsge,jsl,jsle,movh,movs,movz,
Keywords=sll,sra,srl,sub
# ***** Special Function Registers *****
# BYTE Registers:
Keywords=P0,P1,P2,P3,PSW,ACC,B,SP,DPL,DPH,PCON,TCON,TMOD,TL0,TL1,TH0,TH1,IE,IP      DATA    0B8H
Keywords=SCON,SBUF
# 8052 Extensions
Keywords=T2CON,RCAP2L,RCAP2H,TL2,TH2
# MCS 251 Extensions
Keywords=
# BIT Registers:
# PSW
Keywords=CY,AC,F0,RS1,RS0,OV,P
# TCON
Keywords=TF1,TR1,TF0,TR0,IE1,IT1,IE0,IT0,IE,ET1,EX1,ET0,EX0
# IP
Keywords=PS,PT1,PX1,PT0,PX0
# IE
Keywords=EA,ET2,ES,ET1,EX1,ET0,EX0
# P3
Keywords=RD,WR,T1,T0,INT1,INT0,TXD,RXD
# SCON
Keywords=SM0,SM1,SM2,REN,TB8,RB8,TI,RI
# P1 (8052 only)
Keywords=T2EX,T2
# T2CON (8052 only)
Keywords=TF2,EXF2,RCLK,TCLK,EXEN2,TR2,C_T2,CP_RL2
#  Port Bits addressing
Keywords=p0.0,p0.1,p0.2,p0.3,p0.4,p0.5,p0.6,p0.7
Keywords=p1.0,p1.1,p1.2,p1.3,p1.4,p1.5,p1.6,p1.7
Keywords=p2.0,p2.1,p2.2,p2.3,p2.4,p2.5,p2.6,p2.7
Keywords=p3.0,p3.1,p3.2,p3.3,p3.4,p3.5,p3.6,p3.7
#  PSW Bits addressing
Keywords=psw.0,psw.1,psw.2,psw.3,psw.4,psw.5,psw.6,psw.7
#  ACC Bits addressing
Keywords=acc.0,acc.1,acc.2,acc.3,acc.4,acc.5,acc.6,acc.7
End

# --------------------------- JAVA files ---------------------------
#
# Contributed by Louis Paul Santillan <lsantil@calstatela.edu>
#
Name=Java
Files=j,jav,java
EmacsModes=java,Java,JAVA
OpenComment1=/*
CloseComment1=*/
EOLComment1=//
HexMarker=0x
Symbols1=!&*+-./:<=>?^|~
Symbols2=(){}[],;
String1="
String2='
Escape=\
PMacros=cpmacros.pmc
Keywords=abstract,boolean,break,byte,byvalue,case,cast,catch,char,class
Keywords=const,continue,default,do,double,else,extends,false,final,finally
Keywords=float,for,future,generic,goto,if,inner,implements,import,instanceof
Keywords=int,interface,long,native,new,null,operator,outer,package,private
Keywords=protected,public,rest,return,short,static,super,switch,sychronized
Keywords=this,threadsafe,throw,transient,true,try,car,void,while,throws
End

# ------------------------ Environment files ---------------------------------
#
# They are used by RHIDE and djgpp to extend the environment.
#
Name=Environment
Files=env
EOLComment1=#
NoCheckNumbers=1
Symbols1=$=
Symbols2=()
End

# ----------------------- Python scripts ------------------------------------
#
# Contributed by David <david.stegbauer@cz.opel.com>, he says:
#
# Python is very cool object oriented script language,
# as good as perl, but not so cryptic.
# see also http://www.python.org/
#
Name=Python
Files=py
EmacsModes=Python,python
ShellScript=python
Case=1
EOLComment1=#
HexMarker=0x
Symbols1=!&*+-/<=>?^|~
Symbols2=(){}[],;:.
String1="
String2='
Escape=\
Keywords=and,assert,break,class,continue,def,del,elif,else,except,exec
Keywords=finally,for,from,global,if,import,in,is,lambda,not,or,pass
Keywords=print,raise,return,try,while,None,Ellipsis,yield
#Special method names
#Basic customization
Keywords=__init__,__del__,__repr__,__str__,__cmp__,__hash__,__nonzero__
#Customizing attribute access
Keywords=__getattr__,__setattr__,__delattr__
#Emulating callable objects
Keywords=__call__
#Emulating sequence and mapping types
Keywords=__len__,__getitem__,__setitem__,__delitem__,__getslice__
Keywords=__setslice__,__delslice__
#Emulating numeric types
Keywords=__add__,__sub__,__mul__,__div__,__mod__,__divmod__,__pow__
Keywords=__lshift__,__rshift__,__and__,__xor__,__or__
Keywords=__radd__,__rsub__,__rmul__,__rdiv__,__rmod__,__rdivmod__,__rpow__
Keywords=__rlshift__,__rrshift__,__rand__,__rxor__,__ror__
Keywords=__neg__,__pos__,__abs__,__invert__
Keywords=__int__,__long__,__float__,__oct__,__hex__,__coerce__
#Top level names
Keywords=__main__,__builtin__
End

# ----------------------- UNIX shell scripts --------------------------------
#
Name=UNIX shell script
Files=sh
EmacsModes=Shell script,shell script
ShellScript=bash,sh
Case=1
EOLComment1=#
NoCheckNumbers=1
Symbols1=!&*+\/<=>?^|~
Symbols2=(){}[],;:.
String1="
String2='
String3=`
Escape=\
EscapeAnywhere=1
CanStartAName=-
AllowedInsideNames=-
# $# is a special case and can be confused with a comment
SpecialSymbol=$
SpecialSymbolCont=#
Keywords=alias,bg,bind,break,builtin,case,cd,command,continue,declare,dirs
Keywords=disown,do,done,echo,else,enable,esac,eval,exec,exit,export,fc,fg,fi,for,getopts
Keywords=hash,help,history,if,in,jobs,kill,let,local,logout,popd,pushd,pwd,read
Keywords=readonly,return,set,shift,shopt,source,suspend,then,times,trap,type
Keywords=typeset,ulimit,umask,unalias,unset,until,wait,while
# External programs, the most common
Keywords=cat,cp,echo,fgrep,grep,ls,mv,rm,sed,sort,test,tr,uniq,wc
End

# ------------------------ Texinfo Source files (txi) ------------------------
#
# Contributed by Burton Radons <loth@pacificcoast.net> [ca]
#
Name=Texinfo source
Files=txi,tx
EmacsModes=Texinfo
Case=1
EOLComment1="@c "
EOLComment2=@comment
NoCheckNumbers=1
PartialKeywords=1
CanStartAName=@\
AllowedInsideNames=-
Symbols1=!"'*-.:=?@^`{}~,\
SpecialSymbol=@
SpecialSymbolCont=@,"'.:={}`^?!-~*
Keywords=@defcodeindex,@defcv,@defcvx,@deffn,@deffnx,@appendixsubsubsec
Keywords=@definfoenclose,@defivar,@defivarx,@defmac,@defmacx,@defmethod
Keywords=@defmethodx,@defop,@defopx,@defopt,@defoptx,@defspec,@defspecx
Keywords=@deftp,@deftpx,@deftypefn,@deftypefnx,@deftypefun,@deftypefunx
Keywords=@deftypevr,@deftypevrx,@deftypevar,@deftypevarx,@defun,@defunx
Keywords=@defvar,@defvarx,@defvr,@defvrx,@detailmenu,@dfn,@asis,@b,@bye
Keywords=@dircategory,@direntry,@display,@dmn,@dots,@email,@emph,\input
Keywords=@enddots,@enumerate,@equiv,@error,@evenfooting,@evenheading,@H
Keywords=@everyfooting,@everyheading,@example,@exclamdown,@exdent,@page
Keywords=@expansion,@file,@finalout,@findex,@flushleft,@flushright,@tab
Keywords=@cite,@clear,@code,@contents,@copyright,@defindex,@AA
Keywords=@footnote,@footnotestyle,@format,@ftable,@group,@heading,@node
Keywords=@headings,@i,@ifclear,@ifhtml,@ifinfo,@ifset,@iftex,@smalllisp
Keywords=@include,@inforef,@item,@itemize,@itemx,@kbd,@key,@end,@ignore
Keywords=@kindex,@L,@l,@global,@lisp,@url,@lowersections,@macro,@author
Keywords=@majorheading,@math,@menu,@minus,@OE,@multitable,@need,@vindex
Keywords=@noindent,@O,@o,@oddfooting,@oddheading,@print,@appendixsubsec
Keywords=@cartouche,@center,@centerchap,@chapheading,@chapter,@AE
Keywords=@paragraphindent,@pindex,@point,@@,@pounds,@thistitle
Keywords=@pxref,@questiondown,@quotation,@r,@raisesections,@ref,@refill
Keywords=@result,@ringaccent,@samp,@sc,@section,@set,@setchapternewpage
Keywords=@setfilename,@settitle,@shortcontents,@shorttitlepage,thisfile
Keywords=@smallbook,@smallexample,@sp,@ss,@oe,@table
Keywords=@subheading,@subsection,@w,@subsubheading,@xref,@subsubsection
Keywords=@subtitle,@summarycontents,@appendix,@syncodeindex,@cindex,@aa
Keywords=@TeX,@tex,@thischapter,@thischaptername,@vtable,@printindex
Keywords=@thispage,@tindex,@title,@titlefont,@titlepage,@uC,@synindex
Keywords=@t,@ubaraccentC,@udotaccentC,@unnumbered,@unnumberedsec,@bullet
Keywords=@unnumberedsubsec,@unnumberedsubsubsec,@vC,@value,@var,@strong
Keywords=@ae,@appendixsec,@appendixsection,@top,@today,@vskip
End

# ---------------- PICS asm ----------------
#
# Contributed by Diego Brengi <brengi@inti.gov.ar>
#
Name=PICs asm
EmacsModes=mpasm
EOLComment1=;
HexMarker=0x
Symbols1=!$%&(),-./:<>?[]
String1="
String2='
AllowedInsideNames=.
CanStartAName=#
NoCheckNumbers=1
# Instruction set PIC 16c7X
Keywords=addwf,andwf,clrf,clrw,comf,decf,decfsz,incf,incfsz,iorwf,movf
Keywords=movwf,nop,rlf,rrf,subwf,swapf,xorwf,bcf,bsf,btfsc,btfss,addlw
Keywords=andlw,call,clrwdt,goto,iorlw,movlw,retfie,retlw,return,sleep
Keywords=sublw,xorlw
#Directive Summary
Keywords=cbank,cblock,constant,data,db,dw,else,end,endc,endif,endm,endw
Keywords=equ,error,exitm,expand,fill,if,ifdef,ifndef,include,list,local
Keywords=macro,messg,noexpand,nolist,org,page,processor,radix,res,set
Keywords=space,subtitle,title,#undefine,#define,variable,while

Keywords=w,f,indf,tmr0,pcl,status,fsr,porta,portb,portc,portd,porte,pclath
Keywords=intcon,pir1,pir2,tmr1l,tmr1h,t1con,tmr2,t2con,sspbuf,sspcon,ccpr1l
Keywords=ccpr1h,ccp1con,rcsta,txreg,rcreg,ccpr2l,ccpr2h,ccp2con,adres,adcon0
Keywords=option_reg,trisa,trisb,trisc,trisd,trise,pie1,pie2,pcon,pr2,sspadd
Keywords=sspstat,txsta,spbrg,adcon1
Keywords=irp,rp1,rp0,not_to,not_pd,z,dc,c
Keywords=gie,peie,t0ie,inte,rbie,t0if,intf,rbif
Keywords=pspif,adif,rcif,txif,sspif,ccp1if,tmr2if,tmr1if,ccp2if
Keywords=t1ckps1,t1ckps0,t1oscen,not_t1sync,t1insync,tmr1cs,tmr1on
Keywords=toutps3,toutps2,toutps1,toutps0,tmr2on,t2ckps1,t2ckps0
Keywords=wcol,sspov,sspen,ckp,sspm3,sspm2,sspm1,sspm0
Keywords=ccp1x,ccp1y,ccp1m3,ccp1m2,ccp1m1,ccp1m0
Keywords=spen,rx9,rc9,not_rc8,rc8_9,sren,cren,ferr,oerr,rx9d,rcd8
Keywords=ccp2x,ccp2y,ccp2m3,ccp2m2,ccp2m1,ccp2m0
Keywords=adcs1,adcs0,chs2,chs1,chs0,go,not_done,go_done,adon
Keywords=not_rbpu,intedg,t0cs,t0se,psa,ps2,ps1,ps0
Keywords=ibf,obf,ibov,pspmode,trise2,trise1,trise0
Keywords=pspie,adie,rcie,txie,sspie,ccp1ie,tmr2ie,tmr1ie,ccp2ie
Keywords=not_por,not_bo,not_bor
Keywords=d,i2c_data,not_a,not_address,d_a,data_address,p,i2c_stop,s,i2c_start
Keywords=r,i2c_read,not_w,not_write,r_w,read_write,ua,bf
Keywords=csrc,tx9,not_tx8,tx8_9,txen,sync,brgh,trmt,tx9d,txd8
Keywords=pcfg2,pcfg1,pcfg0
Keywords=_boden_on,_boden_off,_cp_all,_cp_75,_cp_50,_cp_off,_pwrte_off,_pwrte_on
Keywords=_wdt_on,_wdt_off,_lp_osc,_xt_osc,_hs_osc,_rc_osc
End

# ----------------------------- Makefiles ------------------------------
#
# Very basic support, keywords from GNU Make 3.77
#
Name=Makefile
Files=mak
NameMatch=(GNU)?[mM]akefile
ShellScript=make
Case=1
EOLComment1=#
NoCheckNumbers=1
Symbols1=!&\<=>?^|~$%
Symbols2=(){}[],;:
String1="
String2='
String3=`
CanStartAName=./
AllowedInsideNames=./~+
Preload
# Special . definitions
Keywords=.DEFAULT,.DELETE_ON_ERROR,.EXPORT_ALL_VARIABLES,.IGNORE
Keywords=.INTERMEDIATE,.PHONY,.POSIX,.PRECIOUS,.SECONDARY,.SILENT,.SUFFIXES
# Variables defined
Keywords=AR,ARFLAGS,AS,ASFLAGS,CC,CFLAGS,CO,COFLAGS,COMSPEC,CPP,CPPFLAGS
Keywords=CTANGLE,CWEAVE,CXX,CXXFLAGS,FC,FFLAGS,GET,GFLAGS,GPATH,LDFLAGS
Keywords=LEX,LFLAGS,MAKE,MAKECMDGOALS,MAKEFILES,MAKEFLAGS,MAKEINFO,MAKELEVEL
Keywords=MAKEOVERRIDES,MFLAGS,OUTPUT_OPTION,PC,PFLAGS,RFLAGS,RM,SHELL
Keywords=SUFFIXES,TANGLE,TEX,TEXI2DVI,VPATH,WEAVE,YACC,YACCR,YFLAGS
# Functions
Keywords=addprefix,addsuffix,basename,define,dir,else,endef,endif,export
Keywords=filter,filter-out,findstring,firstword,foreach,ifdef,ifeq,ifndef
Keywords=ifneq,include,join,notdir,origin,override,patsubst,shell,sort,strip
Keywords=subst,suffix,unexport,vpath,wildcard,word,wordlist,words
End

# -------------------------------- TCL/Tk scripts -----------------------------
#
# Contributed by Philip Moore <FireEgl@EMail.com>
# TCL/Tk - http://Dev.Scriptics.com/software/tcltk/
# Also, all of these integrate with or extend TCL/Tk.
# Therefore their keywords are also listed below:
# [incr Tcl] & [incr Tk] - http://www.TCLTk.com/itcl/  (TCL and Tk extensions)
# TclX - http://www.NeoSoft.com/tclx/  (TCL extension)
# Expect - http://Expect.Nist.Gov  (TCL extension)
# Eggdrop - http://www.EggHeads.org  (IRC bot that uses TCL for it's scripting)
#
Name=TCL/Tk-Eggdrop
Files=tcl,TCL,Tcl,tCL,tcL,TcL,tCl,TCl
EmacsModes=tcl,TCL,Tcl
ShellScript=tclsh
Case=1
RelaxNumberCheck=1
EOLComment1=#
EOLCInFirstUse1=1
EOLComment2=;#
AllowedInsideNames=1234567890-=\~!@#$%^&*_+|;,./:<>?`'
CanStartAName=1234567890-=\~!@#$%^&*()_+|;,./:<>?`'
HexMarker=\x
Symbols1=!&*+-/<=>?^|~$%;:@#_\"(),`'".
Symbols2={}[]()"
String1="
Escape=\
# It doesn't seem to notice that characters after the Escape are escaped,
# so that's why there's a SpecialSymbol setting here.
SpecialSymbol=\
SpecialSymbolCont={}[]()$\"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-=\~!@#%^&*_+|;,./:<>?`'

# TCL (8.4a1) Specific:
Keywords=after,append,array,auto_execok,auto_import,auto_load,auto_load_index
Keywords=auto_mkindex,auto_mkindex_old,auto_qualify,auto_reset,bgerror,binary
Keywords=break,case,catch,cd,clock,close,concat,continue,dde,encoding,eof
Keywords=error,eval,exec,exit,expr,fblocked,fconfigure,fcopy,file,fileevent
Keywords=filename,flush,for,foreach,format,gets,glob,global,history,if,incr
Keywords=info,interp,join,lappend,library,lindex,linsert,list,llength,load
Keywords=lrange,lreplace,lsearch,lsort,memory,msgcat,namespace,open,package
Keywords=parray,pid,pkg_mkIndex,proc,puts,pwd,re_syntax,read,regexp,registry
Keywords=regsub,rename,resource,return,scan,seek,set,socket,source,split
Keywords=string,subst,switch,tclvars,tell,time,trace,unknown,unset,update
Keywords=uplevel,upvar,variable,vwait,while
Keywords=tcl_endOfWord,tcl_findLibrary,tcl_startOfNextWord
Keywords=tcl_startOfPreviousWord,tcl_wordBreakAfter,tcl_wordBreakBefore
Keywords=tclPkgSetup,tclLog,tclMacPkgSearch,tclPkgUnknown,pkg_compareExtension
Keywords=else,then,elseif
# Tk (8.4a1) Specific:
Keywords=bell,bind,bindtags,bitmap,button,canvas,checkbutton,clipboard,colors
Keywords=cursors,destroy,entry,event,focus,font,frame,grab,grid,image,keysyms
Keywords=label,listbox,lower,menu,menubutton,message,option,options,pack,
Keywords=pack-old,photo,place,radiobutton,raise,scale,scrollbar,selection,send
Keywords=spinbox,text,tk,tk_bindForTraversal,tk_bisque,tk_chooseColor,tk_dialog
Keywords=tk_focusFollowsMouse,tk_focusNext,tk_focusPrev,tk_getSaveFile
Keywords=tk_menuBar,tk_messageBox,tk_optionMenu,tk_popup,tk_setPalette,tkerror
Keywords=tkvars,tkwait,toplevel,winfo,wm,tk_chooseDirectory,tk_getOpenFile
Keywords=tkButtonAutoInvoke,::safe::loadTk,::safe::InitTk
# TCL package commands (tell me if I missed any):
Keywords=::http::config,::http::geturl,::http::formatQuery
Keywords=::http::reset,::http::wait,::http::status
Keywords=::http::size,::http::code,::http::data,::http::cleanup
Keywords=::http::register,::http::unregister,::http::Finish
Keywords=::http::ncode,::http::error,::http::Connect,::http::Write
Keywords=::http::Event,::http::CopyStart,http::CopyDone,::http::Eof
Keywords=::http::mapReply,::http::ProxyRequired
Keywords=::safe::interpCreate,::safe::interpInit,::safe::interpConfigure
Keywords=::safe::interpDelete,::safe::interpAddToAccessPath
Keywords=::safe::interpFindInAccessPath,::safe::setLogCmd
Keywords=::safe::InterpStatics,InterpStatics,::safe::InterpNested,InterpNested
Keywords=::safe::CheckInterp,::safe::interpConfigure,::safe::InterpSetConfig
Keywords=::safe::InterpInit,::safe::AddSubDirs,::safe::SyncAccessPath
Keywords=::safe::InterpStateName,::safe::IsInterp,::safe::PathToken
Keywords=::safe::PathListName,::safe::VirtualPathListName
Keywords=::safe::PathNumberName,::safe::StaticsOkName,::safe::NestedOkName
Keywords=::safe::Toplevel,::safe::Set,::safe::Lappend,::safe::Unset
Keywords=::safe::Exists,::safe::GetAccessPath,::safe::StaticsOk
Keywords=::safe::NestedOk,::safe::DeleteHookName,::safe::TranslatePath
Keywords=::safe::Log,::safe::CheckFileName,::safe::AliasSource
Keywords=::safe::AliasLoad,::safe::FileInAccessPath,::safe::Subset
Keywords=::safe::AliasSubset,::safe::AliasEncoding
Keywords=::msgcat::mc,::msgcat::mclocale,::msgcat::mcpreferences
Keywords=::msgcat::mcload,::msgcat::mcset,::msgcat::mcunknown
Keywords=::tcltest::test,::tcltest::cleanupTests
Keywords=::tcltest::getMatchingTestFiles,::tcltest::makeFile
Keywords=::tcltest::removeFile,::tcltest::makeDirectory
Keywords=::tcltest::removeDirectory,::tcltest::viewFile
Keywords=::tcltest::normalizeMsg,::tcltest::bytestring,::tcltest::saveState
Keywords=::tcltest::restoreState,::tcltest::threadReap
Keywords=::tcltest::DebugPuts,::tcltest::DebugPArray,::tcltest::DebugDo
Keywords=::tcltest::AddToSkippedBecause,::tcltest::PrintError
Keywords=::tcltest::initConstraints,::tcltest::PrintUsageInfo
Keywords=::tcltest::CheckDirectory,::tcltest::normalizePath
Keywords=::tcltest::MakeAbsolutePath,::tcltest::processCmdLineArgs
Keywords=::tcltest::loadTestedCommands,::tcltest::getMatchingFiles
Keywords=::tcltest::openfiles,::tcltest::leakfiles,::tcltest::grep
Keywords=::tcltest::set_iso8859_1_locale,::tcltest::restore_locale
Keywords=::tcl::HistAdd,::tcl::HistKeep,::tcl::HistClear,::tcl::HistInfo
Keywords=::tcl::HistRedo,::tcl::HistIndex,::tcl::HistEvent,::tcl::HistChange
Keywords=::tcl::OptKeyRegister,::tcl::OptKeyDelete,::tcl::OptParse
Keywords=::tcl::OptProc,::tcl::OptProcArgGiven,::tcl::OptKeyParse
Keywords=::tcl::OptCheckType,::tcl::OptKeyError,::tcl::OptError,::tcl::Lempty
Keywords=::tcl::Lget,::tcl::Lvarset,::tcl::Lvarset1,::tcl::Lvarset1nc
Keywords=::tcl::Lvarincr,::tcl::Lvarincr1,::tcl::Lfirst,::tcl::Lrest
Keywords=::tcl::Lvarpop1,::tcl::Lvarpop,::tcl::Lassign,::tcl::SetMax
Keywords=::tcl::SetMin,::pkg::create
# [incr Tcl] (8.3.1+) Specific commands:
Keywords=itcl_info,itcl_class,delete,ensemble,local
Keywords=body,find,scope,code,configbody,class
# [incr Tk] (8.0.4) Specific commands:
Keywords=tkCheckRadioInvoke,tkScrollByPages,tkCheckRadioEnter,tkPostOverPoint
Keywords=tkTextNextWord,tkMenuNextMenu,tkListboxUpDown,tkMenuDownArrow
Keywords=tkListboxBeginExtend,tk_textPaste,tkEntryTranspose,tkScaleButtonDown
Keywords=tkEventMotifBindings,tkButtonLeave,tkMenuMotion,.,tkSaveGrabInfo
Keywords=tkTextPaste,tkTextResetAnchor,tkTraverseToMenu,tkScaleControlPress
Keywords=tkScrollButtonUp,tkTextTranspose,tkEntryNextWord,tkScaleActivate
Keywords=tkListboxBeginSelect,tkTextScrollPages,tkButtonDown,tkMenuRightArrow
Keywords=tkMenuFirstEntry,tkMenuInvoke,tkScrollButtonDown,tkEntrySeeInsert
Keywords=tkScrollByUnits,tkFirstMenu,tkEntryInsert,tkMenuLeftArrow
Keywords=tkEntrySetCursor,tkListboxDataExtend,tkMbMotion,tkCancelRepeat
Keywords=tkGenerateMenuSelect,tkButtonUp,tkTabToWindow,tkCheckRadioDown
Keywords=tkMbPost,tkEntryBackspace,tkTextAutoScan,tkScaleIncrement
Keywords=tkMenuEscape,tkMenuUnpost,tkTextSetCursor,tkMbEnter,tkButtonInvoke
Keywords=tkMenuButtonDown,tkTraverseWithinMenu,tkTextKeyExtend
Keywords=tkRestoreOldGrab,tk_textCut,tkScrollToPos,tkScrollButton2Down
Keywords=tkScaleEndDrag,tkTextPrevPara,tkEntryClosestGap,tkEntryKeySelect
Keywords=tkEntryPreviousWord,tkTextNextPos,tkEntryMouseSelect,tkEntryAutoScan
Keywords=tkListboxMotion,tkListboxAutoScan,tkMenuNextEntry,tkEntryButton1
Keywords=tkTextNextPara,tkTextInsert,tkScreenChanged,tkScrollStartDrag
Keywords=tkScaleDrag,tkMenuFind,tk_textCopy,tkScrollTopBottom,tkTextKeySelect
Keywords=tkListboxSelectAll,tkTextSelectTo,tkTextClosestGap,tkTextPrevPos
Keywords=tkMbLeave,tkScrollDrag,tkButtonEnter,tkScrollEndDrag,tkMenuFindName
Keywords=tk_menuSetFocus,tkTextUpDownLine,tkTextButton1,tkListboxExtendUpDown
Keywords=tkListboxBeginToggle,tkMenuLeave,tkListboxCancel,tkMenuUpArrow
Keywords=tkScaleButton2Down,tkScrollSelect,tkEntryPaste,tkMbButtonUp
Keywords=tkEntryGetSelection
# TclX Specific:
Keywords=auto_load_pkg,commandloop,fork,loop,funlock,cequal,sync,lvarpush
Keywords=host_info,replicate,lassign,scanmatch,readdir,cconcat,cindex
Keywords=ftruncate,catclose,try_eval,sleep,keylkeys,cmdtrace,clength,id,nice
Keywords=crange,lcontain,execl,scancontext,min,max,chroot,fcntl,select,bsearch
Keywords=umask,profile,kill,lvarcat,keylget,scanfile,signal,tclx_findinit
Keywords=chown,ccollate,translit,lmatch,keyldel,infox,system,alarm,csubstr,dup
Keywords=keylset,tclx_load_tndxs,times,catopen,fstat,chmod,lempty,chgrp,wait
Keywords=ctype,lgets,flock,random,catgets,ctoken,lvarpop,pipe,loadlibindex
# Expect Specific:
Keywords=exp_timestamp,exp_getpid,exp_version,debug,expect_background,exp_pid
Keywords=interact,expect_after,exp_debug,interpreter,exp_inter_return
Keywords=exp_log_file,send_user,exp_interpreter,exp_system,spawn,exp_continue
Keywords=strace,disconnect,expect_before,exp_send_user,exp_spawn,exp_sleep
Keywords=exp_send,exp_remove_nulls,exp_send_log,log_user,parity,exp_wait
Keywords=overlay,prompt1,send_error,prompt2,getpid,expect_version,exp_send_tty
Keywords=exp_overlay,exp_exit,exp_stty,expect_tty,match_max,exp_close,exp_trap
Keywords=exp_match_max,exp_open,exp_fork,inter_return,log_file,exp_interact
Keywords=expect_user,exp_internal,remove_nulls,send_log,exp_strace
Keywords=exp_disconnect,expect,send_tty,stty,timestamp,exp_log_user,exp_parity
Keywords=trap,exp_send_error
# Eggdrop (1.5.4) TCL Specific:
Keywords=putserv,puthelp,putquick,putlog,putcmdlog,putxferlog,putloglev
Keywords=dumpfile,queuesize,clearqueue,countusers,validuser,finduser,userlist
Keywords=passwdok,getuser,setuser,chnick,chattr,botattr,matchattr
Keywords=adduser,addbot,deluser,delhost,addchanrec,delchanrec,getchaninfo
Keywords=setchaninfo,newchanban,newban,newchanexempt,newexempt,newchaninvite
Keywords=newinvite,stick,unstick,killchanban,killban,killchanexempt
Keywords=killexempt,killchaninvite,killinvite,isban,ispermban,isexempt
Keywords=ispermexempt,isinvite,isperminvite,isbansticky,isexemptsticky
Keywords=isinvitesticky,matchban,matchexempt,matchinvite,banlist,exemptlist
Keywords=invitelist,newignore,killignore,ignorelist,isignore,save,reload
Keywords=backup,getting-users,channel,savechannels,loadchannels,channels
Keywords=isbotnick,botisop,botisvoice,botonchan,isop,isvoice,onchan,nick2hand
Keywords=handonchan,hand2nick,ischanban,ischanexempt,ischaninvite,chanbans
Keywords=chanexempts,chaninvites,resetbans,resetexempts,resetinvites,
Keywords=resetchan,getchanhost,getchanjoin,onchansplit,chanlist,getchanidle
Keywords=getchanmode,jump,pushmode,flushmode,topic,validchan,isdynamic
Keywords=putdcc,dccbroadcast,dccputchan,boot,restart,rehash,dccsimul,hand2idx
Keywords=idx2hand,valididx,getchan,setchan,console,echo,putbot,putallbots
Keywords=killdcc,bots,botlist,islinked,dccused,dcclist,whom,getdccidle
Keywords=getdccaway,setdccaway,connect,listen,dccdumpfile,bind,unbind,logfile
Keywords=maskhost,timer,utimer,timers,utimers,killtimer,killutimer,unixtime
Keywords=time,duration,strftime,date,ctime,myip,rand,control,sendnote,link
Keywords=unlink,encrypt,decrypt,encpass,die,unames,matchchanattr,notes
Keywords=erasenotes,listnotes,storenote,assoc,killassoc,setpwd,getpwd
Keywords=getfiles,getdirs,dccsend,filesend,setdesc,getdesc,setowner,getowner
Keywords=setlink,getlink,getfileq,setuploads,getuploads,setdnloads,getdnloads
Keywords=mkdir,rmdir,mv,cp,getflags,setflags,stickexempt,unstickexempt
Keywords=stickinvite,unstickinvite,ischanjuped,channame2dname,chandname2name
Keywords=wasop,setudef,renudef,deludef,md5,compressfile,uncompressfile
Keywords=iscompressed,putkick,chhandle,fileresend
# Other Eggdrop TCL commands (undocumented):
Keywords=putidx,unshare,reloadhelp,putdccraw,dellang,hide
Keywords=page,loadhelp,unloadhelp,loadmodule,unloadmodule
# procs found in alltools.tcl (an Eggdrop TCL script):
Keywords=putmsg,putchan,putnotc,putact,strlwr,strupr,strcmp,stricmp,strlen
Keywords=stridx,iscommand,timerexists,utimerexists,inchain,randstring
Keywords=putdccall,putdccbut,killdccall,killdccbut,iso,realtime,testip
Keywords=number_to_number,isnumber,ispermowner
# procs found in compat.tcl (an Eggdrop TCL script):
Keywords=gethosts,addhost,chpass,getxtra,setxtra,setinfo,getinfo,getaddr
Keywords=setaddr,getdccdir,setdccdir,getcomment,setcomment,getemail
Keywords=setemail,getchanlaston,time,date
# procs found in mc.moretools.tcl by MC_8 (an Eggdrop TCL script):
Keywords=findip,filt,strip:color,strip:bold,strip:uline,strip:reverse
Keywords=strip:all,lremove,wholetime,dnslookup,llowest,lbiggest,islink
Keywords=isparty,notice,msg,ctcp,bold,uline,reverse,color,str,findchanuser
Keywords=masktype,replace,finduserchan,getchanhost2,which
# procs found in netbots.tcl by slennox (an Eggdrop TCL script):
Keywords=slindex,isbotnetnick,stl,nb_randomise,putwrap
# procs found in..I've no idea where:
Keywords=boolean,makedir,timesince,timeago
# The built-in commands to Eggdrop bindings:
Keywords=*raw:ERROR,*dcc:resetbans,*dcc:unstick,*msg:jump,*dcc:whom,*msg:who
Keywords=*fil:cancel,*ctcp:ERRMSG,*raw:WALLOPS,*msg:addhost,*dcc:+lang
Keywords=*dcc:topic,*dcc:noteigns,*msg:notes,*fil:pwd,*bot:notes2
Keywords=*dcc:adduser,*dcc:unlink,*dcc:help,*msg:seen,*msg:ident,*dcc:bottree
Keywords=*dcc:+chan,*fil:reget,*dcc:act,*dcc:channel,*dcc:resetinvites
Keywords=*dcc:chaninfo,*fil:mkdir,*raw:irc:join,*dcc:handle
Keywords=*dcc:+chrec,*dcc:msg,*chon:notes,*dcc:-host,*dcc:-ignore
Keywords=*raw:lagcheck:401,*dcc:notes2,*dcc:note,*dcc:traffic,*dcc:-lsec
Keywords=*raw:MODE,*dcc:store,*raw:irc:mode,*dcc:+ignore,*fil:get,*dcc:whois
Keywords=*load:irc,*raw:lagcheck:441,*raw:lagcheck:MODE,*dcc:rehelp
Keywords=*dcc:addlog,*dcc:link,*dcc:deop,*fil:share,*dcc:voice
Keywords=*raw:lagcheck:478,*dcc:invite,*dcc:binds,*dcc:chanload,*dcc:-invite
Keywords=*dcc:chhandle,*dcc:status,*dcc:+invite,*raw:KICK,*dcc:comment
Keywords=*raw:irc:kick,*dcc:server:die,*dcc:+ban,*dcc:clearqueue,*msg:help
Keywords=*raw:001,*dcc:me,*pub:seen,*dcc:chansave,*dcc:reset,*dcc:language
Keywords=*load:notes:server,*dcc:kickban,*dcc:chaddr,*dcc:op,*msg:rehash
Keywords=*fil:quit,*dcc:+host,*raw:PART,*dcc:strip,*dcc:die,*msg:whois
Keywords=*raw:irc:part,*raw:irc:315,*dcc:+lsec,*dcc:module,*dcc:su
Keywords=*dcc:page,*raw:irc:331,*raw:irc:332,*dcc:back,*dcc:ldump,*msg:voice
Keywords=*raw:irc:346,*raw:irc:347,*dcc:debug,*raw:irc:348,*raw:irc:349
Keywords=*away:notes,*raw:irc:352,*raw:irc:354,*dcc:newpass,*dcc:away
Keywords=*raw:PONG,*fil:cp,*ctcp:CHAT,*raw:irc:367,*raw:irc:368
Keywords=*raw:NICK,*dcc:+bot,*dcc:kick,*dcc:info,*raw:irc:nick,*dcc:assoc
Keywords=*raw:irc:403,*raw:irc:405,*fil:unhide,*dcc:invites,*raw:200
Keywords=*load:notes:irc,*raw:206,*dcc:motd,*msg:reset,*dcc:-chrec,*dcc:match
Keywords=*dcc:chanset,*dcc:dump,*raw:irc:invite,*dcc:loadmod,*fil:ln
Keywords=*dcc:bans,*dcc:say,*msg:die,*fil:ls,*raw:irc:471,*raw:irc:473
Keywords=*ctcp:ECHO,*raw:irc:474,*raw:251,*raw:irc:475,*chon:channels:chon
Keywords=*fil:mv,*dcc:set,*load:filesys:server,*raw:303,*ctcp:files:DCC
Keywords=*fil:rm,*dcc:resetexempts,*dcc:uptime,*raw:318,*dcc:vbottree
Keywords=*dcc:restart,*dcc:nick,*dcc:dccstat,*fil:rmdir,*raw:QUIT,*dcc:tcl
Keywords=*ctcp:FINGER,*raw:irc:quit,*raw:346,*raw:348,*link:assoc
Keywords=*dcc:stick,*raw:irc:msg,*raw:367,*dcc:boot,*dcc:-user,*msg:go
Keywords=*raw:401,*raw:402,*chon:notes2,*msg:invite,*dcc:unloadmod,*dcc:fwd
Keywords=*dcc:chat,*dcc:modules,*raw:432,*dcc:-noteign,*raw:433
Keywords=*raw:irc:notice,*raw:437,*dcc:save,*raw:438,*dcc:bots,*raw:442
Keywords=*dcc:ignores,*msg:status,*raw:451,*msg:info,*dcc:flush,*msg:op
Keywords=*raw:482,*msg:memory,*ctcp:TIME,*fil:help,*fil:lsa,*raw:NOTICE
Keywords=*dcc:quit,*dcc:-ban,*dcc:console,*dcc:files,*dcc:echo,*dcc:relay
Keywords=*msg:pass,*dcc:chattr,*ctcp:USERINFO,*dcc:reload,*dcc:jump
Keywords=*dcc:relang,*bot:notes2reply,*ctcp:CLIENTINFO,*fil:pending
Keywords=*dcc:+user,*nkch:notes,*fil:note,*fil:stats,*dcc:seen
Keywords=*chon:console:chon,*dcc:chinfo,*raw:irc:topic,*fil:optimise
Keywords=*dcc:-lang,*dcc:botattr,*dcc:-bot,*ctcp:PING,*dcc:who,*dcc:-exempt
Keywords=*dcc:banner,*fil:filestats,*dcc:servers,*dcc:-chan,*dcc:lstat
Keywords=*dcc:notes,*msg:save,*dcc:+exempt,*join:notes,*dcc:resolve
Keywords=*fil:desc,*fil:chdir,*msg:hello,*dcc:exempts,*dcc:+noteign
Keywords=*dcc:chpass,*dcc:devoice,*fil:hide,*dcc:trace,*dcc:deluser
Keywords=*load:server,*raw:PING,*dcc:botinfo,*dcc:backup,*dcc:rehash
Keywords=*dcc:chnick,*bot:assoc,*dcc:fixcodes,*ctcp:VERSION,*fil:unshare
Keywords=*raw:irc:324,*fil:cd,*ctcp:server:DCC,*msg:key,*ctcp:transfer:DCC
Keywords=*raw:PRIVMSG,*dcc:simul
End

# ----------- TeX, that's really bad!, sorry ---------------
#
# Contributed by: Alexander Bokovoy <bokovoy@minsk.lug.net>
# Modified by:    Jan Cnops <Jan.Cnops@hogent.be>
#
Name=TeX
Files=tex,ltx,sty,latex
EOLComment1=%
AllowedInsideNames=},*
CanStartAName=\,{
Case=1
Symbols1=\.,;{}()[]%
NoCheckNumbers=1
Keywords=documentstyle,documentclass
Keywords={document},{array},{equation},{eqnarray},{tabbing},{eqnarray*}
Keywords={tabular},{center},{enumerate},{itemize},{theorem}
Keywords={picture},{bibliography},{verbatim}
Keywords=\pagestyle,\pagenumbering,\thispagestyle
Keywords=\title,\author,\date,\maketitle,\begin,\end,\part,\chapter
Keywords=\section,\subsection,\subsubsection
Keywords=\chapter*,\section*,\subsection*,\subsubsection*
Keywords=\paragraph,\subparagraph,\appendix,\tableofcontents,\listoffigures
Keywords=\listoftables,\rm,\em,\bf,\sc,\it,\sl,\sf,\tt
Keywords=\tiny,\scriptsize,\footnotesize,\small,\normalsize,\large,\Large
Keywords=\LARGE,\huge,\HUGE,\bibitem,\cite
Keywords=\label,\ref,\pageref,\footnote,\item,\caption,\kill,\hline,\cline,\multicolumn
Keywords=\def,\hspace,\vspace,\linebreak,\nolinebreak,\newpage,\clearpage,\pagebreak,\nopagebreak,\samepage
Keywords=\newcommand,\renewcommand,\newenvironment,\newtheorem,\newcounter,\setcounter,\addtocounter,\value,\stepcounter,\\the*
Keywords=\newlength,\setlength,\addtolength,\settowidth,\textheight,\textwidth,\topmargin,\hoffset,\voffset,\oddsidemargin,\evensidemargin
Keywords=\mbox,\makebox,\fbos,\framebox,\newsavebox,\sbox,\savebox,\usebox,\raisebox,\put,\framebox,\dashbox,\line,\vector,\circle,\oval
Keywords=\frame,\shortstack,\multiput,\thinlines,\thicklines,\linethickness,\font,\magnification,\magstephalf,\magstep
Keywords=\hsize,\vsize,\voffset,\hoffset,\topskip,\leftskip,\rightskip,\eject,\vfill,\eject,\goodbreak,\nobreak,\nopagenumbers
Keywords=\headline,\headheight,\headsep,\footnote,\pageno,\folio,\par,\parindent,\noindent,\break,\hfill,\break,\line
Keywords=\rightline,\centerline,\includegraphics,\enskip,\hskip,\hfil,\hfill,\hss,\smallskip
Keywords=\vskip,\vglue,\vfil,\vfill,\vss,\baselineskip,\parskip,\topinsert,\midinsert,\handindent
Keywords=\footnote,\hrule,\vrule,\leaders,\hrulefill,\settabs,\haling,\hbox,\vbox,\newbox,\setbox
Keywords=\arccos,\cos,\csc,\exp,\ker,\limsup,\min,\sinh,\arcsin,\cosh,\deg,\gcd,\lg,\ln,\Pr,\sup
Keywords=\arctan,\cot,\det,\hom,\lim,\log,\sec,\tan,\arg,\coth,\dim,\inf,\liminfo,\max,\sin,\tanh
Keywords=\displaystyle,\textstyle,\alpha,\beta,\gamma,\delta,\epsilon,\varepsilon,\zeta
Keywords=\eta,\theta,\vartheta,\iota,\kappa,\lambda,\mu,\nu,\xi,\o,\pi,\varpi,\rho,\varrho,\sigma,\varsigma
Keywords=\tau,\upsilon,\phi,\varphi,\chi,\psi,\omega,\Gamma,\Delta,\Theta,\Lambda,\Xi,\Pi,\Sigma,\Upsilon
Keywords=\Phi,\Psi,\Omega,\aleph,\hbar,\imath,\jmath,\ell,\wp,\Re,\Im,\partial,\infty,\backslash,\prime,\emptyset,\nabla
Keywords=\surd,\triangle,\angle,\bot,\top,\forall,\exists,\neg,\lnot,\flat,\natural,\sharp,\clubsuit
Keywords=\diamondsuit,\heartsuit,\spadesuit,\pm,\mp,\setminus,\cdot,\times,\ast,\star,\diamond,\circ,\bullet,\triangleleft,\cap,\cup,\uplus,\sqcap
Keywords=\sqcup,\amalg,\div,\wr,\bigcirc,\vee,\lor,\wedge,\land,\oplus,\ominus,\otimes,\oslash,\odot,\dagger,\ddagger
Keywords=\bigtriangleleft,\bigtriangledown,\sum,\prod,\coprod,\int,\oint,\bigcap,\bigcup,\bigsqcup,\bigvee,\bigwedge,\bigodot,\bigotimes,\bigoplus
Keywords=\biguplus,\hat,\acute,\ddot,\vec,\check,\grave,\breve,\tilde,\dot,\bar,\widehat,\widetilde
Keywords=\ldots,\vdots,\cdots,\ddots,\leq,\le,\prec,\preceq,\ll,\subset,\subsetqe,\supsetqe,\\in,\vdash,\smile,\frown,\geq,\ge
Keywords=\succ,\succeq,\gg,\supset,\sqsubseteq,\sqsupsetqe,\ni,\owns,\dashv,\mid,\parallel,\equiv,\sim,\simeq,\asymp,\approx,\cong,\bowtie,\propto,\models
Keywords=\doteq,\perp,\not,\leftarrow,\Leftarrow,\gets,\longleftarrow,\Longleftarrow,\rightarrow,\Rightarrow,\to,\longrightarrow,\Longrightarrow
Keywords=\leftrightarrow,\Leftrightarrow,\longleftrightarrow,\Longleftrightarrow,\mapsto,\longmapsto,\hookleftarrow,\hookrightarrow
Keywords=\leftharpoonup,\rightharpoonup,\leftharpoondown,\rightharpoondown,\uparrow,\Uparrow,\downarrow,\Downarrow
Keywords=\updownarrow,\Updownarrow,\nearrow,\searrow,\swarrow,\nwarrow,\lbrack,\lfloor,\rbrack,\rfloor
Keywords=\lceil,\lbrace,\langle,\rceil,\rbrace,\rangle,\quad,\qquad,\Biggl,\biggl,\Bigl,\bigl
Keywords=\bigr,\Bigr,\biggr,\Biggr,\lgroup,\rgroup,\langle,\rangle,\vert,\Vert,\uparrow
Keywords=\left,\right,\overline,\overrightarrow,\overleftarrow,\overbrace,\underbrace,\atop,\choose,\brack,\above,\brace
Keywords=\pmatrix,\matrix,\bordermatrix,\eqalign,\eqno,\eqalignno,\quad,\def,\gdef,\edef
Keywords=\newcount,\advance,\multiply,\divide,\number,\romannumeral,\newdimen,\newread
Keywords=\openin,\closein,\input,\endinput,\newwrite,\openouput,\closeout,\write,\jobname,\if,\else,\fi,\ifx,\ifeof
Keywords=\ifhmode,\ifvmode,\ifmmode,\ifcat,\ifnum,\ifdim,\ifodd,\ifcase,\or,\loop,\repeat
Keywords=\beginpicture,\setcoordinatesystem,\endpicture,\plotheading,\lines,\putrule,\linethickness,\setlinear,\setquadratic,\sethistograms,\setsolid,\setdashes
Keywords=\setdots,\setdashpattern,\setplotsymbol,\plot,\arrow,\put,\multiput,\circulararc,\ellipticarc,\startrotation,\stoprotation,\setshadegrid,\setshadesymbol
Keywords=\shaderectangleson,\sharerectanglesoff,\vshade,\setquadratic,\hshade,\setplotarea,\inboundscheckon,\inboundscheckoff
Keywords=\axis,\setbox,\endpicturesave,\newdimen,\Alph,\AtBeginDocument,\AtBeginDvi,\AtEndDocument,\AtEndOfPackage,\Big,\Bigg,\Box,\CheckCommand
Keywords=\ClassError,\ClassInfo,\ClassWarning,\ClassWarningNoLine,\DeclareErrorFont,\DeclareFixedFont,\DeclareFontEncoding
Keywords=\DeclareFontEncodingDefaults,\DeclareFontFamily,\DeclareFontShape,\DeclareFontSubstitution,\DeclareMathAccent,\DeclareMathAlphabet
Keywords=\DeclareMathDelimiter,\DeclareMathRadical,\DeclareMathSizes,\DeclareMathSymbol,\DeclareMathVersion,\DeclareOldFontCommand
Keywords=\DeclareOption,\DeclarePreloadSizes,\DeclareRobustCommand,\DeclareSizeFunction,\DeclareSymbolFont,\DeclareSymbolFontAlphabet
Keywords=\DeclareTextAccent,\DeclareTextAccentDefault,\DeclareTextCommand,\DeclareTextCommandDefault,\DeclareTextComposite,\DeclareTextCompositeCommand
Keywords=\DeclareTextFontCommand,\DeclareTextSymbol,\DeclareTextSymbolDefault,\ExecuteOptions,\IfFileExists,\InputIfFileExists
Keywords=\Join,\LoadClass,\LoadClassWithOptions,\MessageBreak,\NeedsTeXFormat,\OptionNotUsed,\PackageError,\PackageInfo,\PackageWarning
Keywords=\PackageWarningNoLine,\PassOptionsToClass,\PassOptionsToPackage,\ProcessOptions,\ProvideTextCommand,\ProvideTextCommandDefault
Keywords=\ProvidesFile,\ProvidesPackage,\RequirePackage,\RequirePackageWithOptions,\Roman,\SetMathAlphabet,\SetSymbolFont,\TeX
Keywords=\TextSymbolUnavailable,\UseTextAccent,\UseTextSymbol,\addcontentsline,\addpenalty,\addtocontents,\addtoversion,\addvspace,\afterassignment,\allocationnumber,\allowbreak
Keywords=\alph,\arrayrulewidth,\arraystretch,\baselinestretch,\bezier,\bfdefault,\bfseries,\bibcite,\bibliography,\bibliographystyle,\big,\bigbreak,\bigg,\bigskip
Keywords=\bigskipamount,\bigskipamount,\bmod,\boldmath,\buildrel,\cases,\catcode,\centering,\chardef,\cleardoublepage,\contentsline,\countdef
Keywords=\cr,\csname,\depth,\discretionary,\displaymath,\dospecials,\dotfill,\encodingdefault,\endcsname,\everycr,\expandafter,\expandafter,\extracolsep
Keywords=\familydefault,\familydefault,\fbox,\filbreak,\flushleft,\flushright,\fmtname,\fmtversion,\fontencoding,\fontfamily,\fontseries,\fontshape,\footnotemark,\footnoterule,\footnotetext,\frac
Keywords=\frenchspacing,\fussy,\futurelet,\global,\glossary,\halign,\height,\hphantom,\ifinner,\immediate,\include,\includeonly,\itdefault,\iterate,\kern
Keywords=\lastskip,\leadsto,\leavevmode,\lefteqn,\leftline,\leftmark,\let,\lhd,\liminf,\lineskip,\lower,\lowercase,\makeatletter,\makeatother,\makeglossary
Keywords=\makeindex,\marginpar,\markboth,\markright,\mathclose,\mathop,\mathopen,\mathrel,\mathstrut,\mddefault,\medbreak,\medmuskip,\medskip,\mho,\minipage,\mskip
Keywords=\multispan,\narrower,\negthinspace,\newfont,\newhelp,\newif,\newinsert,\newlabel,\newlanguage,\newline,\newmathalphabet,\newmuskip,\newskip,\newtoks,\nocite
Keywords=\nocorrlist,\noexpand,\nointerlineskip,\nolimits,\nonfrenchspacing,\nonumber,\normalbaselines,\normallineskip,\normalmarginpar,\null,\numberline,\obeylines
Keywords=\obeyspaces,\offinterlineskip,\onecolumn,\openup,\pagenumberin,\parbox,\penalty,\phantom,\pmod,\protect,\providecommand,\raggedbottom
Keywords=\raggedleft,\raggedright,\refstepcounter,\relax,\removelastskip,\renewenvironment,\reversemarginpar,\rhd,\rightmark,\rlap,\rmdefault,\roman,\root,\rq,\rule
Keywords=\scdefault,\secdef,\selectfont,\seriesdefault,\settodepth,\settoheight,\sfdefault,\shapedefault,\showhyphens,\showoutput,\showoverfull,\sldefault,\sloppy,\sloppypar,\smallbreak
Keywords=\space,\spacefactor,\sqsubset,\stackrel,\stretch,\strut,\suppressfloats,\symbol,\tabskip,\thanks,\thefootnote,\thickmuskip,\thinmuskip,\thinspace,\today
Keywords=\tracingfonts,\tracingoutput,\trivlist,\ttdefault,\twocolumn,\typein,\typeout,\unboldmath,\undefinedpagestyle,\underbar,\underline,\unlhd,\unrhd,\updefault
Keywords=\usecounter,\usefont,\usepackage,\vcenter,\verb,\verbatim,\vline,\vphantom,\width,\wlog,\xdef
End

# ---------------- PLM/51 ----------------
#
# Syntax highlight definitions for PLM/51 (Jari Korhonen 08061999)
#
Name=PLM/51
Files=plm,PLM
OpenComment1=/*
CloseComment1=*/
Symbols1=.=/()+-'*<>:_
Symbols2=(),;
String1='
Preprocessor=$
NoCheckNumbers=1
Keywords=address,and,at,aux,auxiliary,based,bit,by,byte,call,case,con,constant
Keywords=declare,disable,do,else,enable,end,ext,external,go,goto,ida,idata
Keywords=if,indirectly_callable,interrupt,label,lit,literally,main,minus,mod
Keywords=not,or,plus,procedure,pub,public,register,return,structure,then
Keywords=to,using,while,word,xor
End

# ---------------- Command Line Errors description files ----------------
#
Name=Command Line Errors File
Files=cle
EOLComment1=#
EOLCInFirstCol1=1
Symbols1=,=
NoCheckNumbers=1
Keywords=Name,Pattern,File,Line,Description,Severity,EnterDirPat,EnterDirDir
Keywords=LeaveDir,UseInternal,End
End

# --------------------------------- SQL -----------------------------------
#
# Contributed by: Jeremy W. Murphy <jwm@amc.com.au>
#
Name=SQL
Files=sql,SQL,dml,DML
EmacsModes=sql,SQL
OpenComment1=/*
CloseComment1=*/
EOLComment1=--
#EOLCInFirstCol=1 MySQL and PostgreSQL supports it anywhere
HexMarker=0x
Symbols1=+-*/|&<>!=
Symbols2=(),;
String1="
String2='
Escape=\
Keywords=action,add,all,alter,after,and,as,asc,auto_increment,between,bigint
Keywords=bit,binary,blob,bool,both,by,cascade,char,character,change,check
Keywords=column,columns,constraint,create,cross,current_date,current_time
Keywords=current_timestamp,data,database,databases,date,datetime,day,day_hour
Keywords=day_minute,day_second,dayofmonth,dayofweek,dayofyear,dec,decimal
Keywords=default,delete,desc,describe,distinct,distinctrow,double,drop,escaped
Keywords=enclosed,enum,explain,exists,fields,first,float,float4,float8,foreign
Keywords=from,for,full,function,grant,group,having,hour,hour_minute,hour_second
Keywords=ignore,in,index,infile,insert,int,integer,interval,int1,int2,int3,int4
Keywords=int8,into,if,is,join,key,keys,last_insert_id,leading,left,like,lines
Keywords=limit,load,lock,long,longblob,longtext,low_priority,match,mediumblob
Keywords=mediumtext,mediumint,middleint,minute,minute_second,month,monthname
Keywords=natural,numeric,no,not,null,on,option,optionally,or,order,outer,outfile
Keywords=partial,password,precision,primary,procedure,processlist,privileges
Keywords=quarter,read,real,references,rename,regexp,reverse,repeat,replace
Keywords=restrict,returns,rlike,second,select,set,show,smallint,soname
Keywords=sql_big_tables,sql_big_selects,sql_select_limit,sql_low_priority_updates
Keywords=sql_log_off,sql_log_update,straight_join,starting,status,string,table
Keywords=tables,terminated,text,time,timestamp,tinyblob,tinytext,tinyint
Keywords=trailing,to,use,using,unique,unlock,unsigned,update,usage,values
Keywords=varchar,variables,varying,varbinary,with,write,where,year,year_month
Keywords=zerofill,sequence,begin,end,transaction,boolean
Keywords=trigger,synonym,commit,varchar2,before,tablespace,then,number
End

# ---------------------------- Objective C ---------------------------------
#
# This are based on C/C++ definitions.
# Contributed by: Beni Cherniavsky <cben@crosswinds.net>
#
Name=ObjC
Files=m
UseInternal=0
Case=1
OpenComment1=/*
CloseComment1=*/
EOLComment1=//
HexMarker=0x
Symbols1=(){}[],;
Symbols2=!&*+-./:<=>?^|~
String1="
String2='
CanStartAName=@
Escape=\
Preprocessor=#
PMacros=cpmacros.pmc
# Keywords taken from C/C++ with anything I knew as C++ words stripped
Keywords=asm,auto,break,case,char,const,continue,default,delete
Keywords=do,double,else,enum,extern,far,float,for,goto
Keywords=huge,if,inline,int,long,near,
Keywords=register,return,short,signed,sizeof,static,struct,switch
Keywords=typedef,union,unsigned,void,volatile,while
# ObjC Keywords
Keywords=id,Object,class,Class,@interface,@end,@class,@implementation,
Keywords=@private,@protected,@public,SEL,@selector,self,super
End

# --------------------------------- PDP11 asm -------------------------------
#
# Contributed by: Beni Cherniavsky <cben@crosswinds.net>
#
Name=PDP11 asm
Files=s11
EOLComment1=;
Escape=\
AllowedInsideNames=$.?_-
CanStartAName=.
Symbols1=@#(),:=
Symbols2=!-+`*/%<>&^|
String1=<>
NoCheckNumbers=1
Keywords=adc,adcb,add,ash,ashc,asl,aslb,asr,asrb,bcc,bcs,beq,bge,bgt
Keywords=bhi,bhis,bic,bicb,bis,bisb,bit,bitb,ble,blo,blos,blt,bmi
Keywords=bne,bpl,bpt,br,bvc,bvs,clr,clrb,c,ccc,clc,cln,clv,clz,cmp
Keywords=cmpb,com,comb,dec,decb,div,emt,halt,inc,incb,iot,jmp,jsr
Keywords=mark,mfps,mtps,mov,movb,mul,neg,negb,,nop,reset,rol,rolb
Keywords=ror,rorb,rti,rts,rtt,sbc,sbcb,s,scc,sec,sen,sev,sez,sob,spl
Keywords=sub,swab,sxt,trap,tst,tstb,wait,xor
#Registers
Keywords=r0,r1,r2,r3,r4,r5,r6,sp,r7,pc
#Floating Point
Keywords=cfcc,setf,seti,setd,setl,ldfps,stfps,clrf,tstf
Keywords=absf,negf,mulf,modf,addf,movf,subf,cmpf,divf
Keywords=movei,movfi,movfo,movie,movif,movof
#Directives
Keywords=.ascii,.byte,.blkw,.bss,.even,.comm,.data,.endm,.endc
Keywords=.endr,.globl,.if,.iff,.ift,.iftf,.iif,.include,.irp
Keywords=.irpc,.list,.macro,.mexit,.narg,.nchr,.nolist,.align
Keywords=.rept,.text,.word
End

# ---------------- Internationalization files ----------------
#
Name=Internationalization files
Files=po
EOLComment1=#
EOLCInFirstCol1=1
Symbols1=:
String1="
Escape=\
NoCheckNumbers=1
Keywords=msgid,msgstr
End

# ----------- Cascading Style Sheets version 2 -----------
# Contributed by: S. M. Halloran <mitch@duzen.com.tr>
#
Name=Cascading Style Sheets v2
Files=css,css2,cs2
EmacsModes=css,Css,CSS
HexMarker=#
OpenComment1=/*
CloseComment1=*/
AllowedInsideNames=-
CanStartAName=.
String1="
Symbols1={}[]>*=|~+()
Symbols2=:;
NoCheckNumbers=1
Keywords=azimuth,background,background-attachment,background-color
Keywords=background-image,background-position,background-repeat,border
Keywords=border-collapse,border-color,border-spacing,border-style,border-top
Keywords=border-right,border-bottom,border-left,border-top-color
Keywords=border-right-color,border-bottom-color,border-left-color
Keywords=border-top-style,border-right-style,border-bottom-style
Keywords=border-left-style,border-top-width,border-right-width
Keywords=border-bottom-width,border-left-width,border-width,bottom,caption-side
Keywords=clear,clip,color,content,counter-increment,counter-reset,cue
Keywords=cue-after,cue-before,cursor,direction,display,elevation,empty-cells
Keywords=float,font,font-family,font-size,font-size-adjust,font-stretch
Keywords=font-style,font-variant,font-weight,height,left,letter-spacing
Keywords=line-height,list-style,list-style-image,list-style-position
Keywords=list-style-type,margin,margin-top,margin-right,margin-bottom
Keywords=margin-left,marker-offset,marks,max-height,max-width,min-height
Keywords=min-width,orphans,outline,outline-color,outline-style,outline-width
Keywords=overflow,padding,padding-top,padding-right,padding-bottom,padding-left
Keywords=page,page-break-after,page-break-before,page-break-inside,pause
Keywords=pause-after,pause-before,pitch,pitch-range,play-during,position
Keywords=quotes,richness,right,size,speak,speak-header,speak-numeral
Keywords=speak-punctuation,speech-rate,stress,table-layout,text-align
Keywords=text-decoration,text-indent,text-shadow,text-transform,top,unicode-bidi
Keywords=vertical-align,visibility,voice-family,volume,white-space,widows
Keywords=width,word-spacing,z-index
End

# ----------------- JavaScript Files -----------------
# Contributed by: S. M. Halloran <mitch@duzen.com.tr>
#
Name=JavaScript
Files=js
Case=1
OpenComment1=/*
CloseComment1=*/
EOLComment1=//
HexMarker=0x
Symbols1=!&*+-./:<=>?^|~
Symbols2=(){}[],;
String1="
String2='
Escape=\
Keywords=break,case,catch,continue,default,delete,do,else,false,finally,for
Keywords=function,if,new,return,switch,this,throw,true,try,var,while
End

# -------------------- PostScript Files --------------------
# Contributed by: S. M. Halloran <mitch@duzen.com.tr>
# Contains all reserved word to PostScript Language Level 3
#
Name=PostScript
Files=ps
Case=1
EOLComment1=%
HexMarker=<>
Symbols1={}/
String1=()
Escape=\
Keywords=pop,exch,dup,copy,index,roll,clear,count,mark,cleartomark
Keywords=counttomark,add,div,idiv,mod,mul,sub,abs,neg,ceiling,floor
Keywords=round,truncate,sqrt,atan,cos,sin,exp,ln,log,rand,srand,rrand
Keywords=array,[,],length,get,put,getinterval,putinterval,astore,aload
Keywords=forall,packedarray,setpacking,currentpacking,dict,maxlength
Keywords=begin,end,def,load,store,undef,known,where,currentdict
Keywords=errordict,$error,systemdict,userdict,globaldict,statusdict
Keywords=countdictstack,dictstack,cleardictstack,string,anchorsearch
Keywords=search,token,eq,ne,ge,gt,le,lt,and,not,or,xor,true,false,bitshift
Keywords=exec,if,ifelse,for,repeat,loop,exit,stop,stopped,countexecstack
Keywords=execstack,quit,start,type,cvlit,cvx,xcheck,executeonly,noaccess
Keywords=readonly,rcheck,wcheck,cvi,cvn,cvr,cvrs,cvs,file,filter,closefile
Keywords=read,write,readhexstring,writehexstring,readstring,writestring
Keywords=readline,bytesavailable,flush,flushfile,resetfile,status,run
Keywords=currentfile,deletefile,renamefile,filenameforall,setfileposition
Keywords=fileposition,print,=,==,stack,pstack,printobject,writeobject
Keywords=setobjectformat,currentobjectformat,defineresource,undefineresource
Keywords=findresource,findcolorrendering,resourcestatus,resourceforall
Keywords=save,restore,setglobal,currentglobal,gcheck,startjob,defineuserobject
Keywords=execuserobject,undefineuserobject,UserObjects,bind,null,version,
Keywords=realtime,usertime,languagelevel,product,revision,serialnumber
Keywords=executive,echo,prompt,gsave,grestore,clipsave,cliprestore,grestoreall
Keywords=initgraphics,gstate,setgstate,currentgstate,setlinewidth
Keywords=currentlinewidth,setlinecap,currentlinecap,setlinejoin
Keywords=currentlinejoin,setmiterlimit,currentmiterlimit,setstrokeadjust
Keywords=currentstrokeadjust,setdash,currentdash,setcolorspace
Keywords=currentcolorspace,setcolor,currentcolor,setgray,currentgray
Keywords=setrgbcolor,currentrgbcolor,setcmykcolor,currentcymkcolor
Keywords=sethalftone,currenthalftone,setscreen,currentscreen,setcolorscreen
Keywords=currentcolorscreen,settransfer,currenttransfer,setcolortransfer
Keywords=currentcolortransfer,setblackgeneration,currentblackgeneration
Keywords=setundercolorremoval,currentundercolorremoval,setcolorrendering
Keywords=currentcolorrendering,setflat,currentflat,setoverprint
Keywords=currentoverprint,setsmoothness,currentsmoothness,matrix,initmatrix
Keywords=identmatrix,defaultmatrix,currentmatrix,setmatrix,translate
Keywords=scale,rotate,concat,concatmatrix,transform,dtransform,itransform
Keywords=idtransform,invertmatrix,newpath,currentpoint,moveto,lineto,
Keywords=rmoveto,rlineto,arc,arcn,arcto,curveto,rcurveto,closepath
Keywords=flattenpath,reversepath,strokepath,ustrokepath,charpath
Keywords=uappdend,clippath,setbbox,pathbbox,pathforall,upath,initclip,clip
Keywords=eoclip,rectclip,ucache,erasepage,stroke,fill,eofill,rectstroke
Keywords=rectfill,ustroke,ufill,ueofill,shfill,image,colorimage,imagemask
Keywords=infill,ineofill,inufill,inueofill,instroke,inustroke,makepattern
Keywords=setpattern,execform,showpage,copypage,setpagedevice
Keywords=currentpagedevice,nulldevice,definefont,composefont,undefinefont
Keywords=findfont,scalefont,makefont,setfont,rootfont,currentfont,selectfont
Keywords=show,ashow,widthshow,awidthsho,xshow,xyshow,yshow,glyphshow
Keywords=stringwidth,cshow,kshow,FontDirectory,GlobalFontDirectory
Keywords=StandardEncoding,ISOLatin1Encoding,findencoding,setcachedevice
Keywords=setcachedevice2,setcharwidth,setsystemparams,currentsystemparams
Keywords=currentuserparams,setuserparams,setdevparams,currentdevparams
Keywords=vmreclaim,setvmthreshold,vmstatus,cachestatus,setcachelimit
Keywords=setcacheparams,currentcacheparams,setucacheparams,ucachestatus
Keywords=configurationerror,dictfull,dictstackoverflow,dictstackunderflow
Keywords=execstackoverflow,handleerror,interrupt,invalidaccess,invalidexit
Keywords=invalidfileaccess,invalidfont,ioerror,limitcheck,nocurrentpoint
Keywords=rangecheck,stackoverflow,stackunderflow,syntaxerror,timeout
Keywords=typecheck,undefined,undefinedfilename,undefineresource
Keywords=undefineresult,unmatchedmark,unregistered,VMerror
Keywords=[,],<<,>>
End

# ---------------------- Fortran ----------------------
# Contributed by: Martijn Versteegh <m.versteegh@hccnet.nl>.
#
Name=Fortran
Files=F,f
Case=0
EOLComment1=c
EOLCInFirstCol1=1
EOLComment2=!
Symbols1=+-/*=
Symbols2=(){}[];
String1="
String2='
NoChecknumbers=1
Escape=\
Keywords=common,integer,real,logical,character,double,precision,implicit,equivalence,kind
Keywords=subroutine,parameter,program,include,save,intrinsic
#flow control
Keywords=do,end,stop,if,then,else,endif,elseif,goto,continue,call,return,select, case
#file handling
Keywords=read,write,format,rewind,open,close,print
End
#---------- end of fortran shl definition -----------------------

# --------------------------------- Lua -----------------------------------
# Contributed by: David A. Capello <dacap@users.sourceforge.net>.
#
Name=Lua
Files=lua
EOLComment1=--
HexMarker=
Symbols1=+-*/<=>.:%^~
Symbols2=(){}[],;
String1="
String2='
Keywords=do,end,while,repeat,until,if,then,elseif,else
Keywords=return,break,for,in,function,local,and,or,not
End

#----------------------- Fasm V1.51 (Tomasz Grysztar) -------------------------
#---------------      Website: http://flatassembler.net/      -----------------
# Contributed by: "Matt C." <talktomatt@egl.net>
#
Name=Flat Assembler
Files=.asm,.inc
EOLComment1=;
HexMarker=$
Symbols1=!&*+-./:<=>?^|~
Symbols2=(){}[],;
String1="
String2='
Escape=\
Preprocessor=#
Preprocessor2=%
# INTEL General Purpose instructions
Keywords=aaa,aad,aam,aas,adc,add,and,arpl,bound,bsf,bsr,bswap,bt,btc
Keywords=btr,bts,call,cbw,cdq,clc,cld,cli,clts,cmc,cmova,cmovae,cmovb
Keywords=cmovbe,cmovc,cmovno,cmovnp,cmovns,cmovnz,cmove,cmovg,cmovge
Keywords=cmovl,cmovle,cmovo,cmovp,cmovpe,cmovpo,cmovna,cmovnae,cmovnb
Keywords=cmovnbe,cmovnc,cmovs,cmovz,cmovne,cmovng,cmovnge,cmovnl
Keywords=cmovnle,cmp,cmps,cmpsb,cmpsw,cmpsd,cmpxchg,cmpxchg8b
Keywords=cpuid,cwd,cwde,daa,das,dec,div,enter,hlt,idiv,imul,in,inc
Keywords=ins,int,into,invd,invlpg,iret,iretd,ja,jae,jb,jbe,jc,jcxz,jecxz
Keywords=je,jge,jg,jl,jle,jna,jnae,jnb,jnbe,jnc,jne,jng,jnge,jnl,jnle
Keywords=jno,jnp,jns,jnz,jo,jp,jpe,jpo,js,jz,jmp,lahf,lar,lds,lea,leave
Keywords=les,lfs.lgdt,lgs,lidt,lldt,lmsw,lock,lods,lodsb,lodsw,lodsd
Keywords=loop,loopz,loope,loopnz,loopne,lsl,lss,ltr,mov,movs,movsb,movsw
Keywords=movsd,movsx,movzx,mul,neg,nop,not,or,out,outs,pop,popa,popad
Keywords=popf,popfd,push,pusha,pushad,pushf,pushfd,rcl,rcr,rdmsr,rdpmc
Keywords=rdtsc,rep,ret,rol,ror,rsm,sahf,sal,sar,sbb,scas,scasb,scasw
Keywords=scasd,seta,setae,setb,setbe,setc,sete,setg,setge,setl,setle
Keywords=setna,setnae,setnb,setnbe,setnc,setne,setng,setnge,setnl,setnle
Keywords=setno,setnp,setns,setnz,seto,setp,setpe,setpo,sets,setz,sgdt
Keywords=shl,shld,shr,shrd,sidt,sldt,smsw,stc,std,sti,stos,stosb,stosw
Keywords=stosd,str,sub,test,ud2,verr,verw,wait,wbinvd,wrmsr,xadd,xchg
Keywords=xlat,xlatb,xor
# INTEL General FPU Instructions
Keywords=f2xm1,fabs,fadd,faddp,fbld,fbstp,fchs,fclex,fcmovb,fcmove
Keywords=fcmovbe,fcmovu,fcmovnb,fcmovnbe,fcmovnu,fcom,fcomp,fcompp
Keywords=fcomi,fcomip,fcos,fdecstp,fdiv,fdivp,fdivr,fdivrp,ffree,fiadd
Keywords=ficom,ficomp,fidiv,fidivr,fild,fimul,fincstp,finit,fist,fistp
Keywords=fisub,fisubr,fld,fld1,fldcw,fldenv,fldl2e,fldl2t,fldlg2,fldln2
Keywords=fldpi,fldz,fmul,fmulp,fnop,fpatan,fprem,fprem1,fptan,frndint
Keywords=frstor,fsave,fscale,fsin,fsincos,fsqrt,fst,fstcw,fstenv,fstp
Keywords=fstsw,fsub,fsubp,fsubr,fsubrp,fist,fucom,fucomp,fucompp,fucomi
Keywords=fucomip,fxam,fxch,fxtract,fyl2x,fyl2xp1,fwait,ftst
# INTEL MMX instructions
Keywords=emms,movd,movq,packssdw,packsswb,packuswb,padd,padds,paddus,pand
Keywords=pandn,pcmpeq,pcmpgt,pmadd,pmulh,pmull,por,psll,psra,psrl,psub
# INTEL Pentium 6 Instructions
Keywords=psubs,psubus,punpckh,punpckh,punpckl,pxor,fxrstor,fxsave,sysenter
Keywords=sysexit
# INTEL SSE floating point instructions
Keywords=addps,addss,andnps,andps,cmpps,cmpss,comiss,cvtpi2ps,cvtps2pi
Keywords=cvtsi2ss,cvtss2si,cvttps2pi,cvttss2si,divps,divss,ldmxcsr,maxps
Keywords=maxss,minps,minss,movaps,movhlps,movhps,movlhps,movlps,movmskps
Keywords=movss,movups,mulps,mulss,orps,rcpps,rcpss,rsqrtps,rsqrtss,shufps
Keywords=sqrtps,sqrtss,stmscsr,subps,subss,ucomiss,unpckhps,unpcklps,xorps
# INTEL SSE Integer Instructions (AMD 3dNOW! MMX EXTENSION Instructions)
Keywords=pavgb,pavgw,pextrw,pinsrw,pmaxsw,pmaxub,pminsw,pminub,pmovmskb
Keywords=pmulhuw,psadbw,pshufw,maskmovq,movntps,movntq,prefetch0,prefetch1
Keywords=prefetch2,prefetchnta,sfence
# INTEL SSE2 Floating Point Instructions
Keywords=addpd,addsd,andnpd,andpd,cmppd,cmpsd,comisd,cvtpi2pd,cvtpd2pi
Keywords=cvtsi2sd,cvtsd2si,cvttpd2pi,cvttsd2si,cvtpd2ps,cvtps2pd,cvtsd2ss
Keywords=cvtss2sd,cvtpd2dq,cvttpd2dq,cvtdq2pd,cvtps2dq,cvtps2dq,cvtdq2ps
Keywords=divpd,divsd,maxpd,maxsd,minpd,minsd,movapd,movhpd,movlpd,movmskpd
Keywords=movsd,movupd,mulpd,mulsd,orpd,shufpd,sqrtpd,sqrtsd,subpd,subsd
Keywords=ucomisd,unpckhpd,unpcklpd,xorpd
# INTEL SSE2 Integer Instructions
Keywords=movdqa,movdqu,movq2dq,movdq2q,paddq,pavgb,pavgw,pextw,pinsw
Keywords=pmaxsw,pmaxub,pminsw,pminub,pmovmskb,pmuludq,por,psadbw,pshuflw
Keywords=pshufhw,pshufd,pslldq,punpckhqdq,punpcklqdq
# INTEL Cacheability Instructions
Keywords=maskmovdqu,clflush,movntpd,movntdq,movnti,pause,lfence,mfence
# !!! INTEL New Prescott Instructions !!!
Keywords=addsubpd,addsubps,fisttp,haddpd,haddps,hsubpd,hsubps,lddqu,monitor
Keywords=movddup,movshdup,movsldup,mwait
# AMD 3dNOW! Instructions
Keywords=pavgusb,pfadd,pfsub,pfsubr,pfacc,pfcmpge,pcfcmpgt,pfcmpeq,pfmin
Keywords=pfmax,pi2fd,pf2id,pfrcp,pfrsqrt,pfmul,pfrcpit1,pfrsqit1,pfrcpit2
Keywords=pmulhrw,femms,prefetch,prefetchw
# AMD 3dNOW! DSP Instructions
Keywords=pf2iw,pfnacc,pfpnacc,pi2fw,pswapd
# !!! AMD New AMD 64 instructions !!!
Keywords=cdqe,cdwe,cmpsq,cdo,iretq,jrcxz,lodsq,movsq,movsxd,popfq,pushfq
Keywords=scasq,stosq,swapgs
# INTEL and AMD Cpu Registers, syntax operators
Keywords=ah,al,bh,bl,ch,cl,dh,dl
Keywords=ax,bx,cx,dx,di,si,bp,sp
Keywords=eax,ebx,ecx,edx,esi,edi,ebp,esp
Keywords=cs,ss,ds,es,fs,gs
Keywords=cr0,cr2,cr3,cr4,cr8
Keywords=dr0,dr1,dr2,dr3,dr6,dr7
Keywords=tr3,tr4,tr5,tr6,tr7
Keywords=xmm0,xmm1,xmm2,xmm3,xmm4,xmm5,xmm6,xmm7
Keywords=mm0,mm1,mm2,mm3,mm4,mm5,mm6,mm7
Keywords=st0,st1,st2,st3,st4,st5,st6,st7
# !!! AMD LONG MODE [64-Bit,32-Bit,16-Bit] EXTENDED REGISTERS !!!
Keywords=rax,rbx,rcx,rdx,rsi,rdi,rbp,rsp
Keywords=r8w,r9w,r10w,r11w,r12w,r13w,r14w,r15w
Keywords=r8d,r9d,r10d,r11d,r12d,r13d,r14d,r15d
Keywords=r8,r9,r10,r11,r12,r13,r14,r15
Keywords=xmm8,xmm9,xmm10,xmm11,xmm12,xmm13,xmm14,xmm15
# FASM ASSEMBLER DIRECTIVES AND OPERATIONS
Keywords=byte,word,dword,pword,qword,tword,dqword,use16,use32,binary,pe,gui,native
Keywords=mod,rva,eq,equ,times,file,db,dw,dd,dp,dq,dt,du,rb,rw,rd,rp,rf,rq,rt
Keywords=label,virual,at,eqtype,end,macro,eq,if,in,else,local,forward,reverse
Keywords=common,invoke,struc,defined,purge,org,format,segment,section,entry
Keywords=stack,used,heap,data,load,repeat,display,align,equ,code,readable,writeable
Keywords=executable,shareable,discardable,notpageable,export,import,resource,fixups
Keywords=extrn,public,align,coff,elf
End

#---------------------------------- PHP -------------------------------------
# Contributed by: Richard Vrijhof <R.J.Vrijhof@bigfoot.com>.
#
Name=PHP
Files=php,phtm,phtml
EOLComment1=//
EOLComment2=#
HexMarker=0x
Symbols1=!&*/+-:<=>?^|$~@\
Symbols2=(){}[],;
Escape=\
EscapeAnywhere=1
String1="
String2='
String3=`
OpenComment1=/*
CloseComment1=*/
#Preload
# Pre-defined Variables
Keywords=_SERVER,HTTP_SERVER_VARS,_ENV,HTTP_ENV_VARS,_COOKIE
Keywords=HTTP_COOKIE_VARS,_GET,HTTP_GET_VARS,_POST,HTTP_POST_VARS
Keywords=_FILES,HTTP_POST_FILES,_REQUEST,_SESSION,HTTP_SESSION_VARS
Keywords=GLOBALS
# $_SERVER and/or $HTTP_SERVER_VARS Elements
Keywords=PHP_SELF,argv,argc,GATEWAY_INTERFACE,SERVER_NAME,SERVER_SOFTWARE
Keywords=SERVER_PROTOCOL,REQUEST_METHOD,QUERY_STRING,DOCUMENT_ROOT
Keywords=HTTP_ACCEPT,HTTP_ACCEPT_CHARSET,HTTP_ACCEPT_ENCODING
Keywords=HTTP_ACCEPT_LANGUAGE,HTTP_CONNECTION,HTTP_HOST,HTTP_REFERER
Keywords=HTTP_USER_AGENT,REMOTE_ADDR,REMOTE_PORT,SCRIPT_FILENAME,SERVER_ADMIN
Keywords=SERVER_PORT,SERVER_SIGNATURE,PATH_TRANSLATED,SCRIPT_NAME,REQUEST_URI
############################
# Pre-defined Classes
# Standard Defined Classes
Keywords=Directory,stdClass
# Ming Defined Classes
Keywords=swfshape,swffill,swfgradient,swfbitmap,swftext,swftextfield,swffont
Keywords=swfdisplayitem,swfmovie,swfbutton,swfaction,swfmorph,swfsprite
# Oracle 8 Defined Classes
Keywords=OCI-Lob,OCI-Collection
# qtdom Defined Classes
Keywords=QDomDocument,QDomNode
############################
# Pre-defined Constants
# Core Pre-defined Constants
Keywords=__FILE__,__LINE__,NULL,TRUE,FALSE,PHP_VERSION,PHP_OS
Keywords=DEFAULT_INCLUDE_PATH,PEAR_INSTALL_DIR,PEAR_EXTENSION_DIR
Keywords=PHP_EXTENSION_DIR,PHP_BINDIR,PHP_LIBDIR,PHP_DATADIR,PHP_SYSCONFDIR
Keywords=PHP_LOCALSTATEDIR,PHP_CONFIG_FILE_PATH,PHP_OUTPUT_HANDLER_START
Keywords=PHP_OUTPUT_HANDLER_CONT,PHP_OUTPUT_HANDLER_END,E_ERROR,E_WARNING
Keywords=E_PARSE,E_NOTICE,E_CORE_ERROR,E_CORE_WARNING,E_COMPILE_ERROR
Keywords=E_COMPILE_WARNING,E_USER_ERROR,E_USER_WARNING,E_USER_NOTICE,E_ALL
# Pre-defined Constants for Standard Functions
Keywords=EXTR_OVERWRITE,EXTR_SKIP,EXTR_PREFIX_SAME,EXTR_PREFIX_ALL
Keywords=EXTR_PREFIX_INVALID,EXTR_PREFIX_IF_EXISTS,EXTR_IF_EXISTS,SORT_ASC
Keywords=SORT_DESC,SORT_REGULAR,SORT_NUMERIC,SORT_STRING,CASE_LOWER
Keywords=CASE_UPPER,COUNT_NORMAL,COUNT_RECURSIVE,ASSERT_ACTIVE
Keywords=ASSERT_CALLBACK,ASSERT_BAIL,ASSERT_WARNING,ASSERT_QUIET_EVAL
Keywords=CONNECTION_ABORTED,CONNECTION_NORMAL,CONNECTION_TIMEOUT,INI_USER
Keywords=INI_PERDIR,INI_SYSTEM,INI_ALL,M_E,M_LOG2E,M_LOG10E,M_LN2,M_LN10,M_PI
Keywords=M_PI_2,M_PI_4,M_1_PI,M_2_PI,M_2_SQRTPI,M_SQRT2,M_SQRT1_2
Keywords=CRYPT_SALT_LENGTH,CRYPT_STD_DES,CRYPT_EXT_DES,CRYPT_MD5
Keywords=CRYPT_BLOWFISH,DIRECTORY_SEPARATOR,SEEK_SET,SEEK_CUR,SEEK_END
Keywords=LOCK_SH,LOCK_EX,LOCK_UN,LOCK_NB,HTML_SPECIALCHARS,HTML_ENTITIES
Keywords=ENT_COMPAT,ENT_QUOTES,ENT_NOQUOTES,INFO_GENERAL,INFO_CREDITS
Keywords=INFO_CONFIGURATION,INFO_MODULES,INFO_ENVIRONMENT,INFO_VARIABLES
Keywords=INFO_LICENSE,INFO_ALL,CREDITS_GROUP,CREDITS_GENERAL,CREDITS_SAPI
Keywords=CREDITS_MODULES,CREDITS_DOCS,CREDITS_FULLPAGE,CREDITS_QA,CREDITS_ALL
Keywords=STR_PAD_LEFT,STR_PAD_RIGHT,STR_PAD_BOTH,PATHINFO_DIRNAME
Keywords=PATHINFO_BASENAME,PATHINFO_EXTENSION,CHAR_MAX,LC_CTYPE,LC_NUMERIC
Keywords=LC_TIME,LC_COLLATE,LC_MONETARY,LC_ALL,LC_MESSAGES,ABDAY_1,ABDAY_2
Keywords=ABDAY_3,ABDAY_4,ABDAY_5,ABDAY_6,ABDAY_7,DAY_1,DAY_2,DAY_3,DAY_4
Keywords=DAY_5,DAY_6,DAY_7,ABMON_1,ABMON_2,ABMON_3,ABMON_4,ABMON_5,ABMON_6
Keywords=ABMON_7,ABMON_8,ABMON_9,ABMON_10,ABMON_11,ABMON_12,MON_1,MON_2,MON_3
Keywords=MON_4,MON_5,MON_6,MON_7,MON_8,MON_9,MON_10,MON_11,MON_12,AM_STR
Keywords=PM_STR,D_T_FMT,D_FMT,T_FMT,T_FMT_AMPM,ERA,ERA_YEAR,ERA_D_T_FMT
Keywords=ERA_D_FMT,ERA_T_FMT,ALT_DIGITS,INT_CURR_SYMBOL,CURRENCY_SYMBOL
Keywords=CRNCYSTR,MON_DECIMAL_POINT,MON_THOUSANDS_SEP,MON_GROUPING
Keywords=POSITIVE_SIGN,NEGATIVE_SIGN,INT_FRAC_DIGITS,FRAC_DIGITS
Keywords=P_CS_PRECEDES,P_SEP_BY_SPACE,N_CS_PRECEDES,N_SEP_BY_SPACE
Keywords=P_SIGN_POSN,N_SIGN_POSN,DECIMAL_POINT,RADIXCHAR,THOUSANDS_SEP,
Keywords=THOUSEP,GROUPING,YESEXPR,NOEXPR,YESSTR,NOSTR,CODESET,LOG_EMERG
Keywords=LOG_ALERT,LOG_CRIT,LOG_ERR,LOG_WARNING,LOG_NOTICE,LOG_INFO,LOG_DEBUG
Keywords=LOG_KERN,LOG_USER,LOG_MAIL,LOG_DAEMON,LOG_AUTH,LOG_SYSLOG,LOG_LPR
Keywords=LOG_NEWS,LOG_UUCP,LOG_CRON,LOG_AUTHPRIV,LOG_LOCAL0,LOG_LOCAL1
Keywords=LOG_LOCAL2,LOG_LOCAL3,LOG_LOCAL4,LOG_LOCAL5,LOG_LOCAL6,LOG_LOCAL7
Keywords=LOG_PID,LOG_CONS,LOG_ODELAY,LOG_NDELAY,LOG_NOWAIT,LOG_PERROR
# Pre-defined Constants for Array Function array_change_key_case()
Keywords=CASE_UPPER,CASE_LOWER
# Pre-defined Constants for Calendar Functions
Keywords=CAL_GREGORIAN,CAL_JULIAN,CAL_JEWISH,CAL_FRENCH,CAL_NUM_CALS
Keywords=CAL_DOW_DAYNO,CAL_DOW_SHORT,CAL_DOW_LONG,CAL_MONTH_GREGORIAN_SHORT
Keywords=CAL_MONTH_GREGORIAN_LONG,CAL_MONTH_JULIAN_SHORT
Keywords=CAL_MONTH_JULIAN_LONG,CAL_MONTH_JEWISH,CAL_MONTH_FRENCH
# Pre-defined Constants for FTP Functions
Keywords=FTP_ASCII,FTP_BINARY,FTP_TEXT,FTP_IMAGE,FTP_TIMEOUT_SEC
# Pre-defined Constants for LDAP Functions
Keywords=LDAP_DEREF_NEVER,LDAP_DEREF_SEARCHING,LDAP_DEREF_FINDING
Keywords=LDAP_DEREF_ALWAYS,LDAP_OPT_DEREF,LDAP_OPT_SIZELIMIT
Keywords=LDAP_OPT_TIMELIMIT,LDAP_OPT_PROTOCOL_VERSION,LDAP_OPT_ERROR_NUMBER
Keywords=LDAP_OPT_REFERRALS,LDAP_OPT_RESTART,LDAP_OPT_HOST_NAME
Keywords=LDAP_OPT_ERROR_STRING,LDAP_OPT_MATCHED_DN,LDAP_OPT_SERVER_CONTROLS
Keywords=LDAP_OPT_CLIENT_CONTROLS,LDAP_OPT_DEBUG_LEVEL,GSLC_SSL_NO_AUTH
Keywords=GSLC_SSL_ONEWAY_AUTH,GSLC_SSL_TWOWAY_AUTH
# Pre-defined Constants for Mathematical Functions
Keywords=M_PI,M_E,M_LOG2E,M_LOG10E,M_LN2,M_LN10,M_PI_2,M_PI_4,M_1_PI,M_2_PI
Keywords=M_SQRTPI,M_2_SQRTPI,M_SQRT2,M_SQRT3,M_SQRT1_2,M_LNPI,M_EULER
# Pre-defined Constants for MySQL Functions
Keywords=MYSQL_ASSOC,MYSQL_BOTH,MYSQL_NUM,MYSQL_STORE_RESULT,MYSQL_USE_RESULT
# Pre-defined Constants for ODBC Functions
Keywords=ODBC_TYPE,ODBC_BINMODE_PASSTHRU,ODBC_BINMODE_RETURN
Keywords=ODBC_BINMODE_CONVERT,SQL_ODBC_CURSORS,SQL_CUR_USE_DRIVER
Keywords=SQL_CUR_USE_IF_NEEDED,SQL_CUR_USE_ODBC,SQL_CONCURRENCY
Keywords=SQL_CONCUR_READ_ONLY,SQL_CONCUR_LOCK,SQL_CONCUR_ROWVER
Keywords=SQL_CONCUR_VALUES,SQL_CURSOR_TYPE,SQL_CURSOR_FORWARD_ONLY
Keywords=SQL_CURSOR_KEYSET_DRIVEN,SQL_CURSOR_DYNAMIC,SQL_CURSOR_STATIC
Keywords=SQL_KEYSET_SIZE,SQL_CHAR,SQL_VARCHAR,SQL_LONGVARCHAR,SQL_DECIMAL
Keywords=SQL_NUMERIC,SQL_BIT,SQL_TINYINT,SQL_SMALLINT,SQL_INTEGER,SQL_BIGINT
Keywords=SQL_REAL,SQL_FLOAT,SQL_DOUBLE,SQL_BINARY,SQL_VARBINARY
Keywords=SQL_LONGVARBINARY,SQL_DATE,SQL_TIME,SQL_TIMESTAMP,SQL_TYPE_DATE
Keywords=SQL_TYPE_TIME,SQL_TYPE_TIMESTAMP,SQL_BEST_ROWID,SQL_ROWVER
Keywords=SQL_SCOPE_CURROW,SQL_SCOPE_SESSION,SQL_NO_NULLS,SQL_NULLABLE
Keywords=SQL_INDEX_UNIQUE,SQL_INDEX_ALL,SQL_ENSURE,SQL_QUICK
# Pre-defined Constants for Oracle Functions
Keywords=ORA_BIND_INOUT,ORA_BIND_IN,ORA_BIND_OUT,ORA_FETCHINTO_ASSOC
Keywords=ORA_FETCHINTO_NULLS
# Pre-defined Constants for Perl-compatible Regexp Functions
Keywords=PREG_PATTERN_ORDER,PREG_SET_ORDER,PREG_SPLIT_NO_EMPTY
Keywords=PREG_SPLIT_DELIM_CAPTURE,PREG_GREP_INVERT
# Pre-defined Constants for PostgreSQL Functions
Keywords=PQSQL_ASSOC,PQSQL_NUM,PQSQL_BOTH,PQSQL_CONNECTION_BAD
Keywords=PQSQL_CONNECTION_OK,PQSQL_SEEK_SET,PQSQL_SEEK_CUR,PQSQL_SEEK_END
Keywords=PQSQL_ESCAPE_STRING,PQSQL_ESCAPE_BYTEA,PQSQL_EMPTY_QUERY
Keywords=PQSQL_COMMAND_OK,PQSQL_TUPLES_OK,PQSQL_COPY_OUT,PQSQL_COPY_IN
Keywords=PQSQL_BAD_RESPONSE,PQSQL_NONFATAL_ERROR,PQSQL_FATAL_ERROR
# Pre-defined constants for Process Control Functions
Keywords=SIGFPE,SIGCONT,SIGKILL,SIGSTOP,SIGUSR1,SIGTSTP,SIGHUP,SIGUSR2
Keywords=SIGTTIN,SIGINT,SIGSEGV,SIGTTOU,SIGQUIT,SIGPIPE,SIGURG,SIGILL,SIGALRM
Keywords=SIBXCPU,SIGTRAP,SIGTERM,SIGXFSZ,SIGABRT,SIGSTKFLT,SIGVTALRM,SIGIOT
Keywords=SIGCHLD,SIGPROF,SIGBUS,SIGCLD,SIGWINCH,SIGPOLL,SIGIO,SIGPWR,SIGSYS
# Pre-defined Constants for Pspell Functions
Keywords=PSPELL_FAST,PSPELL_NORMAL,PSPELL_BAD_SPELLERS,PSPELL_RUN_TOGETHER
# Pre-defined Constants for Session Functions
Keywords=SID
# Pre-defined Constants for XML Functions
Keywords=XML_ERROR_NONE,XML_ERROR_NO_MEMORY,XML_ERROR_SYNTAX
Keywords=XML_ERROR_NO_ELEMENTS,XML_ERROR_INVALID_TOKEN
Keywords=XML_ERROR_UNCLOSED_TOKEN,XML_ERROR_PARTIAL_CHAR
Keywords=XML_ERROR_TAG_MISMATCH,XML_ERROR_DUPLICATE_ATTRIBUTE
Keywords=XML_ERROR_JUNK_AFTER_DOC_ELEMENT,XML_ERROR_PARAM_ENTITY_REF
Keywords=XML_ERROR_UNDEFINED_ENTITY,XML_ERROR_RECURSIVE_ENTITY_REF
Keywords=XML_ERROR_ASYNC_ENTITY,XML_ERROR_BAD_CHAR_REF
Keywords=XML_ERROR_BINARY_ENTITY_REF,XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF
Keywords=XML_ERROR_MISPLACED_XML_PI,XML_ERROR_UNKNOWN_ENCODING
Keywords=XML_ERROR_INCORRECT_ENCODING,XML_ERROR_UNCLOSED_CDATA_SECTION
Keywords=XML_ERROR_EXTERNAL_ENTITY_HANDLING
# Pre-defined Constants for Zlib Functions
Keywords=FORCE_GZIP,FORCE_DEFLATE
############################
# Official Keywords. Cannot be used as name for constant, class or function.
Keywords=and,as,break,case,cfunction,class,const,continue,declare,default,die
Keywords=do,echo,else,elseif,empty,enddeclare,endfor,endforeach,endif
Keywords=endswitch,endwhile,eval,exit,extends,for,foreach,function,global,if
Keywords=include,include_once,isset,list,new,old_function,print,require
Keywords=require_once,return,static,switch,unset,use,var,while
# Apache-specific Functions
Keywords=apache_child_terminate,apache_lookup_uri,apache_note,apache_setenv
Keywords=ascii2ebcdic,ebcdic2ascii,getallheaders,virtual
# Array Functions
Keywords=array,array_change_key_case,array_chunk,array_count_values
Keywords=array_diff,array_fill,array_filter,array_flip,array_intersect
Keywords=array_key_exists,array_keys,array_map,array_merge
Keywords=array_merge_recursive,array_multisort,array_pad,array_pop,array_push
Keywords=array_rand,array_reduce,array_reverse,array_search,array_shift
Keywords=array_slice,array_splice,array_sum,array_unique,array_unshift
Keywords=array_values,array_walk,arsort,asort,compact,count,current,each,end
Keywords=extract,in_array,key,krsort,ksort,list,natcasesort,natsort,next,pos
Keywords=prev,range,reset,rsort,shuffle,sizeof,sort,uasort,uksort,usort
# Aspell Functions
Keywords=aspell_check,aspell_check_raw,aspell_new,aspell_suggest
# BCMath Arbitrary Precision Mathematics Functions
Keywords=bcadd,bccomp,bcdiv,bcmod,bcmul,bcpow,bcscale,bcsqrt,bcsub
# Bzip2 Compression Functions
Keywords=bzclose,bzcompress,bzdecompress,bzerrno,bzerror,bzerrstr,bzflush
Keywords=bzopen,bzread,bzwrite
# Calendar Functions
Keywords=cal_days_in_month,cal_from_jd,cal_info,cal_to_jd,easter_date
Keywords=easter_days,FrenchToJD,GregorianToJD,JDDayOfWeek,JDMonthName
Keywords=JDToFrench,JDToGregorian,JDToJewish,JDToJulian,jdtounix,JewishToJD
Keywords=JulianToJD,unixtojd
# Class/Object Functions
Keywords=call_user_method,call_user_method_array,class_exists,get_class
Keywords=get_class_methods,get_class_vars,get_declared_classes
Keywords=get_object_vars,get_parent_class,is_a,is_subclass_of,method_exists
# Date and Time Functions
Keywords=checkdate,date,getdate,gettimeofday,gmdate,gmmktime,gmstrftime
Keywords=localtime,microtime,mktime,strftime,strtotime,time
# Directory Functions
Keywords=chdir,chroot,dir,closedir,getcwd,opendir,readdir,rewinddir
# Error Handling and Logging Functions
Keywords=error_log,error_reporting,restore_error_handler,set_error_handler
Keywords=trigger_error,user_error
# Filesystem Functions
Keywords=basename,chgrp,chmod,chown,clearstatcache,copy,delete,dirname
Keywords=disk_free_space,disk_total_space,diskfreespace,fclose,feof,fflush
Keywords=fgetc,fgetcsv,fgets,fgetss,file,file,file_exists,file_get_contents
Keywords=file_get_wrapper_data,file_register_wrapper,fileatime,filectime
Keywords=filegroup,fileinode,filemtime,fileowner,fileperms,filesize,filetype
Keywords=flock,fopen,fpassthru,fputs,fread,fscanf,fseek,fstat,ftell,ftruncate
Keywords=fwrite,is_dir,is_executable,is_file,is_link,is_readable
Keywords=is_uploaded_file,is_writable,is_writeable,link,linkinfo,lstat,mkdir
Keywords=move_uploaded_file,parse_ini_file,pathinfo,pclose,popen,readfile
Keywords=readlink,realpath,rename,rewind,rmdir,set_file_buffer,stat,symlink
Keywords=tempnam,tmpfile,touch,umask,unlink
# FTP Functions
Keywords=ftp_cdup,ftp_chdir,ftp_close,ftp_connect,ftp_delete,ftp_exec
Keywords=ftp_fget,ftp_fput,ftp_get,ftp_get_options,ftp_login,ftp_mdtm
Keywords=ftp_mkdir,ftp_nlist,ftp_pasv,ftp_put,ftp_pwd,ftp_quit,ftp_rawlist
Keywords=ftp_rename,ftp_rmdir,ftp_set_option,ftp_site,ftp_size,ftp_systype
# Function-handling Functions
Keywords=call_user_func,call_user_func_array,create_function,func_get_arg
Keywords=func_get_args,func_num_args,functions_exists,get_defined_functions
Keywords=register_shutdown_function,register_tick_function
Keywords=unregister_tick_function
# HTTP Functions
Keywords=header,headers_sent,setcookie
# Image Functions
Keywords=exif_imagetype,exif_read_date,exif_thumbnail,getimagesize,image2wbmp
Keywords=imagealphablending,imagearc,imagechar,imagecharup,imagecolorallocate
Keywords=imagecolorat,imagecolorclosest,imagecolorclosestalpha
Keywords=imagecolorclosesthwb,imagecolordeallocate,imagecolorexact
Keywords=imagecolorexactalpha,imagecolorresolve,imagecolorresolvealpha
Keywords=imagecolorset,imagecolorsforindex,imagecolorstotal
Keywords=imagecolortransparent,imagecopy,imagecopymerge,imagecopymergegray
Keywords=imagecopyresampled,imagecopyresized,imagecreate,imagecreatefromgd
Keywords=imagecreatefromgd2,imagecreatefromgd2part,imagecreatefromgif
Keywords=imagecreatefromjpeg,imagecreatefrompng,imagecreatefromstring
Keywords=imagecreatefromwbmp,imagecreatefromxbm,imagecreatefromxpm
Keywords=imagecreatetruecolor,imagedashedline,imagedestroy,imageellipse
Keywords=imagefill,imagefilledarc,imagefilledellipse,imagefilledpolygon
Keywords=imagefilledrectangle,imagefilltoborder,imagefontheight
Keywords=imagefontwidth,imageftbbox,imagefttext,imagegammacorrect,imagegd
Keywords=imagegd2,imagegif,imageinterlace,imagejpeg,imageline,imageloadfont
Keywords=imagepalettecopy,imagepng,imagepolygon,imagepsbbox,ImagePSCopyFont
Keywords=imagepsencodefont,imagepsextendfont,imagepsfreefont,imagepsloadfont
Keywords=imagepsslantfont,imagepstext,imagerectangle,imagesetbrush
Keywords=imagesetpixel,imagesetstyle,imagesetthickness,imagesettile
Keywords=imagestring,imagestringup,imagesx,imagesy,imagetruecolortopalette
Keywords=imagettfbbox,imagettftext,imagetypes,imagewbmp,iptcembed,jpeg2wbmp
Keywords=png2wbmp,read_exif_data
# LDAP Functions
Keywords=ldap_8859_to_t61,ldap_add,ldap_bind,ldap_close,ldap_compare
Keywords=ldap_connect,ldap_count_entries,ldap_delete,ldap_dn2ufn,ldap_err2str
Keywords=ldap_errno,ldap_error,ldap_explode_dn,ldap_first_attribute
Keywords=ldap_first_entry,ldap_first_reference,ldap_free_result
Keywords=ldap_get_attributes,ldap_get_dn,ldap_get_entries,ldap_get_option
Keywords=ldap_get_values,ldap_get_values_len,ldap_list,ldap_mod_add
Keywords=ldap_mod_del,ldap_mod_replace,ldap_modify,ldap_next_attribute
Keywords=ldap_next_entry,ldap_next_reference,ldap_parse_reference
Keywords=ldap_parse_result,ldap_read,ldap_rename,ldap_search,ldap_set_option
Keywords=ldap_set_rebind_proc,ldap_sort,ldap_start_tls,ldap_t61_to_8859
Keywords=ldap_unbind
# Mail Functions
Keywords=ezmlm_hash,mail
# Mathematical Functions
Keywords=abs,acos,acosh,asin,asinh,atan,atan2,atanh,base_convert,bindec,ceil
Keywords=cos,cosh,decbin,dechex,decoct,deg2rad,exp,expm1,floor,getrandmax
Keywords=hexdec,hypot,is_finite,is_infinite,is_nan,log_value,log,log10,log1p
Keywords=max,min,mt_getrandmax,mt_rand,mt_srand,number_format,octdec,pi,pow
Keywords=rad2deg,rand,round,sin,sinh,sqrt,srand,tan,tanh
# Miscellaneous Functions
Keywords=connection_aborted,connection_status,connection_timeout,constant
Keywords=define,defined,eval,get_browser,highlight_file,highlight_string
Keywords=ignore_user_abort,iptcparse,leak,pack,show_source,sleep,uniqid
Keywords=unpack,usleep
# MySQL Functions
Keywords=mysql_affected_rows,mysql_change_user,mysql_character_set_name
Keywords=mysql_close,mysql_connect,mysql_create_db,mysql_data_seek
Keywords=mysql_db_name,mysql_db_query,mysql_drop_db,mysql_errno,mysql_error
Keywords=mysql_escape_string,mysql_fetch_array,mysql_fetch_assoc
Keywords=mysql_fetch_field,mysql_fetch_lengths,mysql_fetch_object
Keywords=mysql_fetch_row,mysql_field_flags,mysql_field_len,mysql_field_name
Keywords=mysql_field_seek,mysql_field_table,mysql_field_type
Keywords=mysql_free_result,mysql_get_client_info,mysql_get_host_info
keywords=mysql_get_proto_info,mysql_get_server_info,mysql_info
Keywords=mysql_insert_id,mysql_list_dbs,mysql_list_fields
Keywords=mysql_list_processes,mysql_list_tables,mysql_num_fields
Keywords=mysql_num_rows,mysql_pconnect,mysql_ping,mysql_query
Keywords=mysql_real_escape_string,mysql_result,mysql_select_db,mysql_stat
Keywords=mysql_tablename,mysql_thread_id,mysql_unbuffered_query
# Network Functions
Keywords=checkdnsrr,closelog,debugger_off,debugger_on,define_syslog_variables
Keywords=fsockopen,gethostbyaddr,gethostbyname,gethostbynamel,getmxrr
Keywords=getprotobyname,getprotobynumber,getservbyname,getservbyport,ip2long
Keywords=long2ip,openlog,pfsockopen,socket_get_status,socket_set_blocking
Keywords=socket_set_timeout,syslog
# Output Control Functions
Keywords=flush,ob_clean,ob_end_clean,ob_end_flush,ob_flush,ob_get_contents
Keywords=ob_get_length,ob_get_level,ob_gzhandler,ob_implicit_flush,ob_start
# PHP Options & Information Functions
Keywords=assert,assert_options,dl,extension_loaded,get_cfg_var
Keywords=get_current_user,get_defined_constants,get_extension_funcs
Keywords=get_included_files,get_loaded_extensions,get_magic_quotes_gpc
Keywords=get_magic_quotes_runtime,get_required_files,getenv,getlastmod
Keywords=getmygid,getmyinode,getmypid,getmyuid,getrusage,ini_alter,ini_get
Keywords=ini_get_all,ini_restore,ini_set,php_logo_guid,php_sapi_name
Keywords=php_uname,phpcredits,phpinfo,phpversion,putenv
Keywords=set_magic_quotes_runtime,set_time_limit,version_compare
Keywords=zend_logo_guid,zend_version
# PostgreSQL Functions for PHP < 4.2.0
Keywords=pg_exec,pg_getlastoid,pg_cmdtuples,pg_numrows,pg_numfields
Keywords=pg_fieldname,pg_fieldsize,pg_fieldnum,pg_fieldprtlen,pg_fieldisnull
Keywords=pg_freeresult,pg_result,pg_loreadall,pg_locreate,pg_lounlink
Keywords=pg_loopen,pg_loclose,pg_loread,pg_lowrite,pg_loimport,pg_loexport
# PostgreSQL Functions for PHP >= 4.2.0 or unchanged in PHP >= 4.2.0
Keywords=pg_affected_rows,pg_cancel_query,pg_client_encoding,pg_close
Keywords=pg_connect,pg_connection_busy,pg_connection_reset
Keywords=pg_connection_status,pg_convert,pg_copy_from,pg_copy_to,pg_dbname
Keywords=pg_delete,pg_end_copy,pgescape,bytea,pg_escape_string,pg_fetch_array
Keywords=pg_fetch_object,pg_fetch_result,pg_fetch_row,pg_field_is_null
Keywords=pg_field_name,pg_field_num,pg_field_prtlen,pg_field_size
Keywords=pg_field_type,pg_free_result,pg_get_result,pg_host,pg_insert
Keywords=pg_last_error,pg_last_notice,pg_last_oid,pg_lo_close,pg_lo_create
Keywords=pg_lo_export,pg_lo_import,pg_lo_open,pg_lo_read,pg_lo_read_all
Keywords=pg_lo_seek,pg_lo_tell,pg_lo_unlink,pg_lo_write,pg_metadata
Keywords=pg_num_fields,pg_num_rows,pg_options,pg_pconnect,pg_port,pg_put_line
Keywords=pg_query,pg_result_error,pg_result_status,pg_select,pg_send_query
Keywords=pg_set_client_encoding,pg_trace,pg_tty,pg_untrace,pg_update
# Process Control Functions
Keywords=pcntl_exec,pcntl_fork,pcntl_signal,pcntl_waitpid,pcntl_wexitstatus
Keywords=pcntl_wifexited,pcntl_wifsignaled,pcntl_wifstopped,pcntl_wstopsig
Keywords=pcntl_wtermsig
# Program Execution Functions
Keywords=escapeshellarg,escapeshellcmd,exec,passthru,proc_close,proc_open
Keywords=shell_exec,system
# Printer Functions
Keywords=printer_abort,printer_close,printer_create_brush,printer_create_dc
Keywords=printer_create_font,printer_create_pen,printer_delete_brush
Keywords=printer_delete_dc,printer_delete_font,printer_delete_pen
Keywords=printer_draw_bmp,printer_draw_chord,printer_draw_elipse
Keywords=printer_draw_line,printer_draw_pie,printer_draw_rectangle
Keywords=printer_draw_roundrect,printer_draw_text,printer_end_doc
Keywords=printer_end_page,printer_get_option,printer_list
Keywords=printer_logical_fontheight,printer_open,printer_select_brush
Keywords=printer_select_font,printer_select_pen,printer_set_option
Keywords=printer_start_doc,printer_start_page,printer_write
# Pspell Functions
Keywords=pspell_add_to_personal,pspell_add_to_session,pspell_check
Keywords=pspell_clear_session,pspell_config_create,pspell_config_ignore
Keywords=pspell_config_mode,pspell_config_personal,pspell_config_repl
Keywords=pspell_config_runtogether,pspell_config_save_repl,pspell_new
Keywords=pspell_new_config,pspell_new_personal,pspell_save_wordlist
Keywords=pspell_store_replacement,pspell_suggest
# GNU Readline Functions
Keywords=readline,readline_add_history,readline_clear_history
Keywords=readline_completion_function,readline_info,readline_list_history
Keywords=readline_read_history,readline_write_history
# GNU Recode Functions
Keywords=recode,recode_file,recode_string
# Regular Expression Functions (Perl-compatible)
Keywords=preg_grep,preg_match,preg_match_all,preg_quote,preg_replace
Keywords=preg_replace_callback,preg_split
# Regular Expression Functions (POSIX Extended)
Keywords=ereg,ereg_replace,eregi,eregi_replace,split,spliti,sql_regcase
# Session Handling Functions
Keywords=session_cache_expire,session_cache_limiter,session_decode
Keywords=session_destroy,session_encode,session_get_cookie_params,session_id
Keywords=session_is_registered,session_module_name,session_name
Keywords=session_readonly,session_register,session_save_path
Keywords=session_set_cookie_params,session_set_save_handler,session_start
Keywords=session_unregister,session_unset,session_write_close
# SNMP Functions
Keywords=snmp_get_quick_print,snmp_set_quick_print,snmpget,snmprealwalk
Keywords=snmpset,snmpwalk,snmpwalkoid
# String Functions
Keywords=addcslashes,addslashes,bin2hex,chop,chr,chunk_split
Keywords=convert_cyr_string,count_chars,crc32,crypt,explode
Keywords=get_html_translation_table,get_meta_tags,hebrev,hebrevc,htmlentities
Keywords=htmlspecialchars,implode,join,levenshtein,localeconv,ltrim,md5
Keywords=md5_file,metaphone,nl_langinfo,nl2br,ord,parse_str,print,printf
Keywords=quoted_printable_decode,quotemeta,rtrim,setlocale,similar_text
Keywords=soundex,sprintf,sscanf,str_pad,str_repeat,str_replace,str_rot13
Keywords=strcasecmp,strchr,strcmp,strcoll,strcspn,strip_tags,stripcslashes
Keywords=stripslashes,stristr,strlen,strnatcasecmp,strnatcmp,strncasecmp
Keywords=strncmp,strpos,strrchr,strrev,strrpos,strspn,strstr,strtok
Keywords=strtolower,strtoupper,strtr,substr,substr_count,substr_replace,trim
Keywords=ucfirst,ucwords,vprintf,vsprintf,wordwrap
# URL Functions
Keywords=base64_decode,base64_encode,parse_url,rawurldecode,rawurlencode
Keywords=urldecode,urlencode
# Variable Functions
Keywords=doubleval,empty,floatval,get_defined_vars,get_resource_type,gettype
Keywords=import_request_variables,intval,is_array,is_bool,is_callable
Keywords=is_double,is_float,is_int,is_integer,is_long,is_null,is_numeric
Keywords=is_object,is_real,is_resource,is_scalar,is_string,isset,print_r
Keywords=serialize,settype,strval,unserialize,unset,var_dump,var_export
# XML Parser Functions
Keywords=utf8_decode,utf8_encode,xml_error_string,xml_get_current_byte_index
Keywords=xml_get_current_column_number,xml_get_current_line_number
Keywords=xml_parse,xml_parser_create,xml_parser_create_ns,xml_parser_free
Keywords=xml_parser_get_option,xml_parser_set_option
Keywords=xml_set_character_data_handler,xml_set_default_handler
Keywords=xml_set_element_handler,xml_set_end_namespace_decs_handler
Keywords=xml_set_edternal_entity_ref_handler,xml_set_notation_decl_handler
Keywords=xml_set_object,xml_set_processing_instruction_handler
Keywords=xml_set_start_namespace_decl_handler
Keywords=xml_set_unparsed_entity_decl_handler
# XSLT Functions
Keywords=xslt_create,xslt_errno,xslt_error,xslt_free,xslt_process
Keywords=xslt_set_base,xslt_set_encoding,xslt_set_error_handler,xslt_set_log
Keywords=xslt_set_sax_handler,xslt_set_sax_handlers,xslt_set_scheme_handler
Keywords=xslt_set_scheme_handlers
End
#------------------------ end of PHP shl definition -------------------------

#--------------------------------- .tvrc ------------------------------------
# This is the format used for the Turbo Vision configuration files.
#
Name=TV Configuration
NameMatch=\.?tvrc
Case=1
EOLComment1=#
Symbols2==
Symbols1={}[]
String1="
Escape=\
# Sections
Keywords=TV,DOS,Linux,QNX,X11,XTerm,Win32,WinNT,WinGr
# Variables
Keywords=Priority,UseVCS,UseMDA,PatchKeys,ShowCursorEver,Font10x20
Keywords=ScreenWidth,ScreenHeight,FontWidth,FontHeight,UseSecondaryFont
Keywords=ScreenPalette,zHideCursorWhenNoFocus,ExtProgVideoMode,VideoMode
Keywords=DontResizeToCells,BIOSKey,UseShellScreen,InternalBusyCursor
Keywords=VGABIOSState,SaveVGAState,DontMoveHiddenCursor,AppCP,ScrCP,InpCP
Keywords=PollMouse,BrokenCursorShape,Unicode16,UnicodeFont,UseX11Fonts
Keywords=X11Font,UseUpdateThread,AvoidMoire,AltKeysSetting
End

#--------------------------------- XML ------------------------------------
# Very limited XML support
#
Name=XML
Files=xml
EmacsModes=XML,xml
OpenComment1=<!--
CloseComment1=-->
AllowedInsideNames=!?
CanStartAName=<#?
String1="
Escape=\
Symbols1=</>=,;{}()[]%
Symbols2=?+*|
NoCheckNumbers=1
Keywords=<?xml,version,encoding,<!DOCTYPE,<!ELEMENT,<!ATTLIST,EMPTY,CDATA
Keywords=#IMPLIED,#REQUIRED,#PCDATA
End

# ----------------------------- Povray -----------------------------
# Contributed by: Martijn Versteegh <m.versteegh@hccnet.nl>.
# Based on the keyword list from v 3.5, #'s added where appropriate
#
Name=POV-ray
Files=pov,inc
EmacsModes=Povray
Case=1
OpenComment1=/*
CloseComment1=*/
CanStartAName=#
EOLComment1=//
HexMarker=0x
Symbols1=!&*+-./:<=>?^|~
Symbols2=(){}[],;
String1="
String2='
Escape=\
#Preprocessor=#                                                                                 
Keywords=t,u,v,x,y,z
Keywords=aa_level,aa_threshold,abs,absorption,accuracy,acos,acosh,adaptive,adc_bailout,agate,agate_turb,all
Keywords=all_intersections,alpha,altitude,always_sample,ambient,ambient_light,angle,aperture,append,arc_angle
Keywords=area_light,array,asc,ascii,asin,asinh,assumed_gamma,atan,atan2,atanh,autostop,average,b_spline
Keywords=background,bezier_spline,bicubic_patch,black_hole,blob,blue,blur_samples,bounded_by,box
Keywords=boxed,bozo,#break,brick,brick_size,brightness,brilliance,bump_map,bump_size,bumps,camera
Keywords=#case,caustics,ceil,cells,charset,checker,chr,circular,clipped_by,clock,clock_delta,clock_on
Keywords=collect,color,color_map,colour,colour_map,component,composite,concat,cone,confidence,conic_sweep
Keywords=conserve_energy,contained_by,control0,control1,coords,cos,cosh,count,crackle,crand,cube
Keywords=cubic,cubic_spline,cubic_wave,cutaway_textures,cylinder,cylindrical
Keywords=#debug,#declare,#default,defined,degrees,density,density_file,density_map,dents,df3,difference
Keywords=diffuse,dimension_size,dimensions,direction,disc,dispersion,dispersion_samples,dist_exp,distance,div,double_illuminate
Keywords=eccentricity,#else,emission,#end,#error,error_bound,evaluate,exp,expand_thresholds,exponent,exterior,extinction
Keywords=face_indices,facets,fade_color,fade_colour,fade_distance,fade_power,falloff,falloff_angle,false
Keywords=#fclose,file_exists,filter,final_clock,final_frame,finish,fisheye,flatness,flip,floor,focal_point,fog
Keywords=fog_alt,fog_offset,fog_type,#fopen,form,frame_number,frequency,fresnel,function
Keywords=gather,gif,global_lights,global_settings,gradient,granite,gray,gray_threshold,green
Keywords=height_field,hexagon,hf_gray_16,hierarchy,hypercomplex,hollow
Keywords=#if,#ifdef,iff,#ifndef,image_height,image_map,image_pattern,image_width,#include,initial_clock
Keywords=initial_frame,inside,inside_vector,int,interior,interior_texture,internal,interpolate,intersection
Keywords=intervals,inverse,ior,irid,irid_wavelength,isosurface
Keywords=jitter,jpeg,julia,julia_fractal
Keywords=lambda,lathe,leopard,light_group,light_source,linear_spline,linear_sweep,ln,load_file,location
Keywords=log,look_at,looks_like,low_error_factor,#local
Keywords=#macro,magnet,major_radius,mandel,map_type,marble,material,material_map,matrix,max,max_extentmax_gradient
Keywords=max_intersections,max_iteration,max_sample,max_trace,max_trace_level,media,media_attenuation
Keywords=media_interaction,merge,mesh,mesh2,metallic,method,metric,min,min_extent,minimum_reuse,mod
Keywords=mortar
Keywords=natural_spline,nearest_count,no,no_bump_scale,no_image,no_reflection,no_shadow,noise_generator
Keywords=normal,normal_indices,normal_map,normal_vectors,number_of_waves
Keywords=object,octaves,off,offset,omega,omnimax,on,once,onion,open,orient,orientation,orthographic
Keywords=panoramic,parallel,parametric,pass_through,pattern,perspective,pgm,phase,phong,phong_size
Keywords=photons,pi,pigment,pigment_map,pigment_pattern,planar,plane,png,point_at,poly,poly_wave
Keywords=polygon,pot,pow,ppm,precision,precompute,pretrace_end,pretrace_start,prism,prod,projected_through,pwr
Keywords=quadratic_spline,quadric,quartic,quaternion,quick_color,quick_colour,quilted
Keywords=radial,radians,radiosity,radius,rainbow,ramp_wave,rand,#range,ratio,#read,reciprocal,recursion_limit
Keywords=red,reflection,reflection_exponent,refraction,render,repeat,rgb,rgbf,rgbft,rgbt,right,ripples
Keywords=rotate,roughness
Keywords=samples,save_file,scale,scallop_wave,scattering,seed,select,shadowless,sin,sine_wave,sinh,size
Keywords=sky,sky_sphere,slice,slope,slope_map,smooth,smooth_triangle,solid,sor,spacing,specular,sphere
Keywords=sphere_sweep,spherical,spiral1,spiral2,spline,split_union,spotlight,spotted,sqr,sqrt,statistics
Keywords=str,strcmp,strength,strlen,strlwr,strupr,sturm,substr,sum,superellipsoid,switch,sys
Keywords=tan,tanh,target,text,texture,texture_list,texture_map,tga,thickness,threshold,tiff,tightness
Keywords=tile2,tiles,tolerance,toroidal,torus,trace,transform,translate,transmit,triangle,triangle_wave
Keywords=true,ttf,turb_depth,turbulence,type
Keywords=u_steps,ultra_wide_angle,undef,union,up,use_alpha,use_color,use_colour,use_index,utf8
Keywords=uv_indices,uv_mapping,uv_vectors
Keywords=v_steps,val,variance,vaxis_rotate,vcross,vdot,#version,vertex_vectors,vlength,vnormalize
Keywords=vrotate,vstr,vturbulence
Keywords=#warning,warp,water_level,waves,#while,width,wood,wrinkles,#write
Keywords=yes
End

# ----------------------------- VHDL -----------------------------
# Very basic VHDL syntax
#
Name=VHDL
Files=vhdl,vhd,vbe,vst
EOLComment1=--
String1="
Symbols1=!&*+-./:<=>?^|~
Symbols2=(){}[],;
Keywords=abs,access,after,alias,all,and,architecture,array,assert,attribute
Keywords=begin,block,body,buffer,bus,case,component,configuration,constant
Keywords=disconnect,downto,else,elsif,end,entity,exit,file,for,function
Keywords=generate,generic,group,guarded,if,impure,in,inertial,inout,is
Keywords=label,library,linkage,literal,loop,map,mod,nand,new,next,nor,not
Keywords=null,of,on,open,or,others,out,package,port,postponed,procedure
Keywords=process,pure,range,record,register,reject,rem,report,return,rol
Keywords=ror,select,severity,shared,signal,sla,sll,sra,srl,subtype,then,to
Keywords=transport,type,unaffected,units,until,use,variable,wait,when,while
Keywords=with,xnor,xor
End

#-----------------------------------Ruby---------------------------------#
# Hacked By William E. Cullen (WECullen@comcast.net)
# still neads some work.....Help if you can
#
Name=Ruby
Files=rb
EOLComment1=#
EOLCInFirstCol=1
OpenComment1= =begin
CloseComment1= =end
AllowedInsideNames=!?
Symbols1=+?/.<=>^|
Symbols2=(){}[]; /n
String1=""
String2='
Keywords=BEGIN,END,alias,and,begin,break,case,class,def,defined,do,else,elsif,end,ensure,false,for,if,in,module,next,nill
Keywords=not,or,redo,rescue,retry,return,self,super,then,true,undef,unless,until,when,while,yieldKeywords=do,else,elsif,end,ensure,false,for,if,module
Keywords=Array,Float,Integer,String,at_exit,autoload,binding,caller,catch,chomp,chomp!,chop,chop!,eval,exec,exists
Keywords=exit,exit!,exp!,fail,fork,format,gets,glob,global_variables,gmtime,goto,gsub,gsub!,gt,hex,import,iterator?,lamda
Keywords=load,local_variables,loop,open,print,printf,proc,putc,puts,raise,rand,readline,readlines
Keywords=require,select,sleep,split,sprintf,srand,sub,sub!,syscall,system,test,throw,trace_var,trap,untrace_var
Keywords=TRUE,FALSE,NIL,STDIN,STDOUT,STDERR,ENV,ARGF,ARGV,DATA,VERSION,RUBY_RELEASE_DATE,RUBY_PLATFORM
Keywords=ArgumentError,Array,Bignum,Class,Data,Dir,EOFError,Exception,File,Fixnum,Float,Hash,IO
Keywords=IOError,IndexError,Integer,Interrupt,LoadError,LocalJumpError,MatchingData,Module,NameError,NilClass,NotImplementError
Keywords=Numeric,Object,Proc,Range,Regexp,RuntimeError,SecurityError,SignalException,StandardError,String,Struct,SyntaxError
Keywords=SystemCallError,SystemExit,SystemStackError,ThreadError,Time,TypeError,ZeroDivisionError,fatal
Keywords=Comparable,Enumerable,Errno,FileTest,GC,Kernel,Marshal,Math,ObjectSpace,Precision,Process
End
#---------------------------End Ruby shl-----------------------------------#

# -------------------------------- WML ------------------------------------
#
# Very basic WML syntax (I am learning!)
# Contributed by Diego J. Brengi
#
Name=WML
Files=wml,WML
#Comment next line if you like to see WML keywords inside strings
String1="
Case=0
#Next two lines ar usefull only if you comment "Preprocessor"
EOLComment1=#
EOLCInfirstcol1=1
#For HTML Comments
OpenComment1=<!--
CloseComment1=-->
CanStartAName=<
Escape=\
AllowedInsideNames=/-

#Comment if you don't want to see comments like preprocessor instructions
Preprocessor=#

Symbols1==,;{}()[]#!
Symbols2=%><"
NoCheckNumbers=1
PMacros=wmlmac.pmc

SpecialSymbol=<
SpecialSymbolCont=#
SpecialSymbol=#
SpecialSymbolCont=>

#------------------words exctracted from /usr/bin/wmd wml_tags(7)------------------------
Keywords=wml,include,depends,use

Keywords=<add,<and,<array-add-unique,<array-concat,<array-member,<array-pop,<array-push,<array-shift
Keywords=<array-size,<array-topvalue,<at-end-of-file,</at-end-of-file,<attributes-extract,<attributes-quote
Keywords=<attributes-remove,<break,<bs,<capitalize,<char-offsets,<comment,</comment,<compound,</compound
Keywords=<copy-var,<date,<debugfile,<debugging-off,<debugging-on,<debugmode,<decrement,<define-entity
Keywords=</define-entity,<define-tag,</define-tag,<defvar,<directory-contents,<disjoin,<divert,</divert,<divide
Keywords=<divnum,<dnl,<downcase,<dq,<eq,<exit,<expand,<file-exists,<foreach,</foreach,<frozen-dump,<function-def
Keywords=<get-file-properties,<get-hook,<get-regexp-syntax,<get-var-once,<get-var,group,<gt,<if,<ifeq
Keywords=<ifneq,<include,<increment,<lb,<let,<load,<lt,<match,<max,<min,<modulo,<mp4h-l10n,<mp4h-output-radix
Keywords=<multiply,<neq,<noexpand,<nostrip,</nostrip,<not,<or,<preserve
Keywords=<protect,</protect,<provide-tag,</provide-tag,<rb,<real-path,<restore,<return,<set-eol-comment
Keywords=<set-hook,</set-hook,<set-quotes,<set-regexp-syntax,<set-var-verbatim,<set-var-x,</set-var-x
Keywords=<set-var,<sort,<string-compare,<string-eq,<string-length,<string-neq,<subst-in-string,<subst-in-var
Keywords=<substract,<substring,<suck,<symbol-info,<timer,<undef,<undivert,<unset-var,<upcase,<use,<var-case
Keywords=<var-exists,<warning,<when,</when,<while,</while

Keywords=endtag,whitespace
End

# ------------------------------- SPARC asm -------------------------------
#
# From the GNU opcodes library. Is that a "Reduced" instruction set? ;-)
#
Name=SPARC asm
OpenComment1=/*
CloseComment1=*/
EOLComment1=!
HexMarker=0x
Symbols1=!$%&(),-./:;<>?[]
String1="
String2="
AllowedInsideNames=$.
CanStartAName=.
Keywords=ld,lduw,ldd,ldq,ldsb,ldsh,ldstub,ldsw,ldub,lduh,ldx,lda,ldda,ldqa,ldsba
Keywords=ldsha,ldstuba,ldswa,lduba,lduha,lduwa,ldxa,st,stw,stsw,spill,sta,stwa
Keywords=stswa,stb,stsb,stub,stba,stsba,std,spilld,stda,sth,stsh,stha,stsha,stuha
Keywords=stx,stxa,stq,stqa,swap,swapa,restore,rett,save,ret,retl,jmpl,done,retry
Keywords=saved,restored,sir,flush,iflush,return,flushw,membar,stbar,prefetch
Keywords=prefetcha,sll,sra,srl,sllx,srax,srlx,mulscc,divscc,scan,popc,clr,clrb
Keywords=clrh,clrx,orcc,orncc,orn,tst,wr,rd,rdpr,wrpr,mov,or,bset,andn,andncc
Keywords=bclr,cmp,sub,subcc,subx,subxcc,subccc,and,andcc,dec,deccc,inc,inccc,btst
Keywords=neg,add,addcc,addx,addc,addccc,smul,smulcc,umul,umulcc,sdiv,sdivcc,udiv
Keywords=udivcc,mulx,sdivx,udivx,call,b,ba,t,ta,bcc,tcc,bcs,tcs,be,te,beq,teq,bg
Keywords=tg,bgt,tgt,bge,tge,bgeu,tgeu,bgu,tgu,bl,tl,blt,tlt,ble,tle,bleu,tleu,blu
Keywords=tlu,bn,tn,bne,tne,bneg,tneg,bnz,tnz,bpos,tpos,bvc,tvc,bvs,tvs,bz,tz,brnz
Keywords=brz,brgez,brlz,brlez,brgz,movrne,movre,movrgez,movrlz,movrlez,movrgz
Keywords=movrnz,movrz,fmovrsne,fmovrse,fmovrsgez,fmovrslz,fmovrslez,fmovrsgz
Keywords=fmovrsnz,fmovrsz,fmovrdne,fmovrde,fmovrdgez,fmovrdlz,fmovrdlez,fmovrdgz
Keywords=fmovrdnz,fmovrdz,fmovrqne,fmovrqe,fmovrqgez,fmovrqlz,fmovrqlez,fmovrqgz
Keywords=fmovrqnz,fmovrqz,mova,movcc,movgeu,movcs,movlu,move,movg,movge,movgu
Keywords=movl,movle,movleu,movlg,movn,movne,movneg,movnz,movo,movpos,movu,movue
Keywords=movug,movuge,movul,movule,movvc,movvs,movz,fmovda,fmovdcc,fmovdcs
Keywords=fmovde,fmovdg,fmovdge,fmovdgeu,fmovdgu,fmovdl,fmovdle,fmovdleu,fmovdlg
Keywords=fmovdlu,fmovdn,fmovdne,fmovdneg,fmovdnz,fmovdo,fmovdpos,fmovdu,fmovdue
Keywords=fmovdug,fmovduge,fmovdul,fmovdule,fmovdvc,fmovdvs,fmovdz,fmovqa,fmovqcc
Keywords=fmovqcs,fmovqe,fmovqg,fmovqge,fmovqgeu,fmovqgu,fmovql,fmovqle,fmovqleu
Keywords=fmovqlg,fmovqlu,fmovqn,fmovqne,fmovqneg,fmovqnz,fmovqo,fmovqpos,fmovqu
Keywords=fmovque,fmovqug,fmovquge,fmovqul,fmovqule,fmovqvc,fmovqvs,fmovqz,fmovsa
Keywords=fmovscc,fmovscs,fmovse,fmovsg,fmovsge,fmovsgeu,fmovsgu,fmovsl,fmovsle
Keywords=fmovsleu,fmovslg,fmovslu,fmovsn,fmovsne,fmovsneg,fmovsnz,fmovso,fmovspos
Keywords=fmovsu,fmovsue,fmovsug,fmovsuge,fmovsul,fmovsule,fmovsvc,fmovsvs,fmovsz
Keywords=fb,cb,fba,cba,fbe,cb0,fbz,fbg,cb2,fbge,cb02,fbl,cb1,fble,cb01,fblg,cb12
Keywords=fbn,cbn,fbne,cb123,fbnz,fbo,cb012,fbu,cb3,fbue,cb03,fbug,cb23,fbuge,cb023
Keywords=fbul,cb13,fbule,cb013,jmp,nop,set,setuw,setsw,setx,sethi,taddcc,taddcctv
Keywords=tsubcc,tsubcctv,unimp,illtrap,xnor,xnorcc,xor,xorcc,not,btog,fdtoi,fstoi
Keywords=fqtoi,fdtox,fstox,fqtox,fitod,fitos,fitoq,fxtod,fxtos,fxtoq,fdtoq,fdtos
Keywords=fqtod,fqtos,fstod,fstoq,fdivd,fdivq,fdivx,fdivs,fmuld,fmulq,fmulx,fmuls
Keywords=fdmulq,fdmulx,fsmuld,fsqrtd,fsqrtq,fsqrtx,fsqrts,fabsd,fabsq,fabsx,fabss
Keywords=fmovd,fmovq,fmovx,fmovs,fnegd,fnegq,fnegx,fnegs,faddd,faddq,faddx,fadds
Keywords=fsubd,fsubq,fsubx,fsubs,fcmpd,fcmped,fcmpq,fcmpeq,fcmpx,fcmpex,fcmps
Keywords=fcmpes,cpop1,cpop2,shuffle,crdcxt,cwrcxt,cpush,cpusha,cpull,casa,casxa
Keywords=iprefetch,signx,clruw,cas,casl,casx,casxl,shutdown,fpadd16,fpadd16s
Keywords=fpadd32,fpadd32s,fpsub16,fpsub16s,fpsub32,fpsub32s,fpack32,fpack16
Keywords=fpackfix,fexpand,fpmerge,fmul8x16,fmul8x16au,fmul8x16al,fmul8sux16
Keywords=fmul8ulx16,fmuld8sux16,fmuld8ulx16,alignaddr,alignaddrl,faligndata,fzero
Keywords=fzeros,fone,fones,fsrc1,fsrc1s,fsrc2,fsrc2s,fnot1,fnot1s,fnot2,fnot2s,for
Keywords=fors,fnor,fnors,fand,fands,fnand,fnands,fxor,fxors,fxnor,fxnors,fornot1
Keywords=fornot1s,fornot2,fornot2s,fandnot1,fandnot1s,fandnot2,fandnot2s,fcmpgt16
Keywords=fcmpgt32,fcmple16,fcmple32,fcmpne16,fcmpne32,fcmpeq16,fcmpeq32,edge8
Keywords=edge8l,edge16,edge16l,edge32,edge32l,pdist,array8,array16,array32,edge8n
Keywords=edge8ln,edge16n,edge16ln,edge32n,edge32ln,bmask,bshuffle,siam,impdep1
Keywords=impdep2,cbe,cbf,cbef,cbr,cber,cbfr,cbefr,cbne,cbnf,cbnef,cbnr,cbner,cbnfr
Keywords=cbnefr,efitod,efitos,efdtoi,efstoi,efstod,efdtos,efmovs,efnegs,efabss
Keywords=efsqrtd,efsqrts,efaddd,efadds,efsubd,efsubs,efdivd,efdivs,efmuld,efmuls
Keywords=efsmuld,efcmpd,efcmped,efcmps,efcmpes,umac,smac,umacd,smacd,umuld,smuld
# GAS specific
Keywords=.abort,.ABORT,.align,.app-file,.ascii,.asciz,.balign,.byte,.comm
Keywords=.data,.def,.desc,.dim,.double,.eject,.else,.endef,.endif,.equ
Keywords=.extern,.file,.fill,.float,.global,.hword,.ident,.if,.include
Keywords=.int,.irp,.irpc,.lcomm,.lflags,.line,.ln,.linkonce,.list,.long
Keywords=.macro,.mri,.nolist,.octa,.org,.p2align,.psize,.quad,.rept
Keywords=.sbttl,.scl,.section,.set,.short,.single,.size,.skip,.space
Keywords=.stabd,.stabn,.stabs,.string,.tag,.text,.title,.type,.val,.word
Keywords=.globl
End

