# 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
UseInternal=1
Case=1
OpenComment1=/*
CloseComment1=*/
EOLComment1=//
HexMarker=0x
Symbols1=!&*+-./:<=>?^|~
Symbols2=(){}[],;
String1="
String2='
Escape=\
Preprocessor=#
PMacros=cpmacros.pmc
Keywords=asm,auto,break,case,catch,char,class,const,continue,default,delete
Keywords=do,double,else,enum,except,extern,far,finally,float,for,friend,goto
Keywords=huge,if,inline,int,long,near,new,operator,private,protected,public
Keywords=register,return,short,signed,sizeof,static,struct,switch,template
Keywords=this,throw,try,typedef,union,unsigned,virtual,void,volatile,while
End

# ---------------- Pascal ----------------
Name=Pascal
Files=pas,inc,p
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="
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
End

# ---------------- 4DOS batch files ----------------
Name=4DOS batch files
Files=bat,btm
EOLComment1=rem
Symbols1=%&(),<=>@[]^|
String1=`
Escape=
Keywords=alias,and,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,or,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,xor
End

# ---------------- 80x86 asm (AT&T syntax) ----------------
Name=80x86 asm (AT&T syntax)
Files=s
OpenComment1=/*
CloseComment1=*/
EOLComment1=#
EOLComment2=//
HexMarker=0x
Symbols1=!$%&(),-./:;<>?[]
String1='"
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
UseInternal=3
OpenComment1=/*
CloseComment1=*/
EOLComment1=//
EOLComment2=&&
Symbols1=%&()*+,-./:;<=>[]^{|}~@
String1="'
Preprocessor=#
AllowedInsideNames=.
CanStartAName=.
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
OpenComment1=<!--
CloseComment1=-->
AllowedInsideNames=/
CanStartAName=<
String1="
Escape=\
Symbols1=>=,;{}()[]%
NoCheckNumbers=1
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
Keywords=</b,</pre,<xmp,</xmp,<table,</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,<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
Keywords=content,<map,</map,<area,shape,coords,nohref,onclick,onmouseover
Keywords=rowspan,<blockquote,</blockquote,<em,</em
End

# ---------------- SDG Format files ----------------
#   These are the format files for the SET's
# Documentation Generator
Name=SDG Format
Files=frt
EOLComment1=#
EOLCInFirstCol=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=;
EOLCInFirstCol=1
AllowedInsideNames=:
String1="
Escape=\
Case=1
Symbols1=,
NoCheckNumbers=1
Keywords=Trigger:,Mode:
End

# ---------------- Syntax Highlight Files ----------------
#   For this file ;-P.
#
Name=Syntax Highlight File
Files=shl
EOLComment1=#
EOLCInFirstCol=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
End


