*
*  Syntax coloring when working with the standard colors
*


*
*  C and C++ files
*
filetype c c++ h cpp cxx hpp hxx rul cs
  comment olivedrab c
  string magenta c
  case respect
  keyword firebrick asm auto bad_cast bad_typeid break case catch char class const const_cast continue default delete do double else entry enum except extern finally float for friend goto if inline int long new operator private protected public register reinterpret_cast return short signed sizeof static static_cast struct switch template this throw try type_info typedef typeid union unsigned using virtual void volatile while xalloc namespace
  match orange blue maroon2 deeppink black green red cadetblue purple coral midnightblue
  cpp maroon2 magenta orange blue deeppink green red cadetblue purple coral midnightblue
end

*
*  YACC files
*
filetype y
  comment olivedrab c
  string magenta c
  case respect
  keyword firebrick token type left right
  match orange blue maroon2 deeppink black green red cadetblue purple coral midnightblue
  cpp maroon2 magenta orange blue deeppink green red cadetblue purple coral midnightblue
end


*
*  S/REXX Unix scripts
*
firstline srexx xsrexx msrexx wsrexx
  comment olivedrab rexx
  string magenta  rexx
  case ignore
  keyword firebrick ADDRESS ARG BY CALL DIGITS DO DROP ELSE END ENGINEERING EXIT EXPOSE FOR FOREVE R FORM FUZZ IF INTERPRET ITERATE LEAVE LINEIN NOP NUMERIC OFF ON OTHERWISE PARSE PROCEDURE PULL PUSH QUEUE RETURN SAY SAYN SAYX SAYR SCIENTIFIC SELECT SIGNAL SOURCE THEN TO TRACE UNTIL UPPER VALUE VAR VERSION WHILE WITH WHEN ERROR FAILURE HALT NOVALUE SYNTAX TEMPLATE ENVIRON LOWER CD FUNCTION NAME NOTREADY SFUNCTION IN OPTION MIXED SETENV UNSETENV LOAD NOLOAD GLOBALV NOGLOBALV
  match orange blue maroon2 deeppink black green red cadetblue purple coral midnightblue
end

*
*  S/REXX Windows script
*
filetype srx
  comment olivedrab rexx
  string magenta  rexx
  case ignore
  keyword firebrick ADDRESS ARG BY CALL DIGITS DO DROP ELSE END ENGINEERING EXIT EXPOSE FOR FOREVE R FORM FUZZ IF INTERPRET ITERATE LEAVE LINEIN NOP NUMERIC OFF ON OTHERWISE PARSE PROCEDURE PULL PUSH QUEUE RETURN SAY SAYN SAYX SAYR SCIENTIFIC SELECT SIGNAL SOURCE THEN TO TRACE UNTIL UPPER VALUE VAR VERSION WHILE WITH WHEN ERROR FAILURE HALT NOVALUE SYNTAX TEMPLATE ENVIRON LOWER CD FUNCTION NAME NOTREADY SFUNCTION IN OPTION MIXED SETENV UNSETENV LOAD NOLOAD GLOBALV NOGLOBALV
  match orange blue maroon2 deeppink black green red cadetblue purple coral midnightblue
end

*
*  S/REXX SEDIT macros
*
filetype sedit flist
  comment olivedrab rexx
  string magenta  rexx
  case ignore
  keyword firebrick ADDRESS ARG BY CALL DIGITS DO DROP ELSE END ENGINEERING EXIT EXPOSE FOR FOREVE R FORM FUZZ IF INTERPRET ITERATE LEAVE LINEIN NOP NUMERIC OFF ON OTHERWISE PARSE PROCEDURE PULL PUSH QUEUE RETURN SAY SAYN SAYX SAYR SCIENTIFIC SELECT SIGNAL SOURCE THEN TO TRACE UNTIL UPPER VALUE VAR VERSION WHILE WITH WHEN ERROR FAILURE HALT NOVALUE SYNTAX TEMPLATE ENVIRON LOWER CD FUNCTION NAME NOTREADY SFUNCTION IN OPTION MIXED SETENV UNSETENV LOAD NOLOAD GLOBALV NOGLOBALV
  match orange blue maroon2 deeppink black green red cadetblue purple coral midnightblue
end

#
# Internal SEDIT macros
#
filetype x
  comment olivedrab sh
end


*
* C-SHELL scripts
*
firstline csh sh ksh tcsh
  comment olivedrab sh
  string magenta  c
  case ignore
  keyword firebrick if then else do forever endif foreach end case esac echo set fi while done
  match orange blue maroon2 deeppink black green red cadetblue purple coral midnightblue
end

*
* FORTRAN FILES
*
filetype f F for fortran f90
  comment olivedrab fortran
  string magenta fortran
  case ignore
  keyword coral allocate assign automatic backspace block byte call case character close common complex continue cycle data deallocate default dimension do double doublecomplex doubleprecision eject else elseif end enddo endfile endif entry equivalence exit external format function go goto if implicit include inquire integer intrinsic logical namelist open parameter pause precision print program read real record return rewind save select stop structure subroutine then to union while write until find wait goto if else then endif call do elseif enddo stop
  match orange blue maroon2 deeppink black green red cadetblue purple coral midnightblue
  cpp maroon2 magenta orange blue deeppink green red cadetblue purple coral midnightblue
end

*
* LATEX files
*
filetype tex lat latex
  comment olivedrab latex
  keyword firebrick  \documentstyle \grave \parindent \parskip \oddsidemargin \topmargin \textwidth \textheight \pagestyle \newcommand \font \begin \hspace \sr \ce \rightskip \leftskip \normalsize \rm \hfill \vspace \sq \french \hf \end \lb \ns \he \hg \nextp \npl \ss \bf \centerline \large \small \magstep \linebreak \em
  match orange blue maroon2 deeppink black green red cadetblue purple coral midnightblue
end


*
*  Java
*
filetype j jav java
  comment olivedrab c
  string magenta c
  case respect
  variable object
  keyword firebrick abstract boolean break byte byvalue case cast catch char class const continue default do double else extends false final finally float for future generic goto if implements import inner instanceof int interface long native new null operator outer package private protected public rest return short static string super switch synchronized this threadsafe throw throws transient true try var void volatile while  match
  match orange blue maroon2 deeppink black green red cadetblue purple coral midnightblue
  cpp maroon2 magenta orange blue deeppink green red cadetblue purple coral midnightblue
end



*
*  Windows resource files
*
filetype rc dlg
  comment olivedrab c
  string magenta c
  case ignore
  keyword firebrick accelerators auto3state autocheckbox autoradiobutton bitmap button caption characteristics checkbox class combobox control ctext cursor defpushbutton dialog dialogex edittext exstyle font groupbox icon language listbox ltext menu menuex menuitem messagetable popup pushbox pushbutton radiobutton rcdata rtext scrollbar state stringtable style version versioninfo block value fileversion productversion fileflagsmask fileflags fileos filetype filesubtype discardable preload loadoncall fixed moveable pure impure begin end rcinclude dlginclude separator
  match orange blue maroon2 deeppink black green red cadetblue purple coral midnightblue
  cpp maroon2 magenta orange blue deeppink green red cadetblue purple coral midnightblue
end

*
* APL functions
*
apl
  comment olivedrab apl
  string magenta apl
  case ignore
  match orange blue maroon2 deeppink black green red cadetblue purple coral midnightblue
* All XXXX are keywords, but we need one to specify the color
  keyword firebrick SHADOW
end

*
*  Cobol
*
filetype cbl cobol
  comment olivedrab cobol
  string magenta cobol
  case ignore
  keyword firebrick if or and go to move perform compute rounded thru through pic picture comp computational
  match orange blue maroon2 deeppink black green red cadetblue purple coral midnightblue
end

*
* WINDOWS PowerShell scripts
*
filetype ps1
  comment olivedrab sh
  string magenta  c
  case ignore
  keyword coral begin break catch class continue default do else elseif end exit finally for foreach function if in param process return switch throw trap try until using var while workflow
  keyword STeelblue -and -or -xor -not -eq -ne -gt -ge -lt -le -like -notlike -match -notmatch -contains -notcontains -in -notin -is -isnot -as
  match magenta red green blue magenta2 cyan deeppink forestgreen violetred beige
end
