##############################################################################
# Basic customization.

if PLAT_WIN
	position.left=0
	position.top=0
if PLAT_GTK
	position.left=5
	position.top=22
position.width=576
position.height=740
split.vertical=1
tabbar.visible=1
toolbar.visible=1
statusbar.visible=1

line.margin.visible=1
line.margin.width=4
margin.width=16
buffered.draw=1
use.palette=0

caret.period=500
view.whitespace=0
view.indentation.whitespace=1
view.indentation.guides=1
highlight.indentation.guides=1
edge.column=200
edge.mode=0
edge.colour=#C0DCC0
braces.check=1
braces.sloppy=1
selection.alpha=30
selection.back=#000000

are.you.sure=1
are.you.sure.for.build=0
save.all.for.build=1
check.if.already.open=1
default.file.ext=.cxx
open.dialog.in.file.directory=1
buffers=10

tabsize=8
indent.size=4
use.tabs=0
indent.automatic=1
indent.opening=0
indent.closing=0
tab.indents=1
backspace.unindents=1

wrap=1
cache.layout=3
wrap.visual.flags=3
wrap.visual.flags.location=0
wrap.visual.startindent=8

fold=1
fold.compact=1
fold.flags=16
fold.symbols=1
fold.comment=1
fold.preprocessor=1

find.command=
find.files=*.c *.cxx *.h

clear.before.execute=0
caret.policy.xslop=1
caret.policy.width=20
caret.policy.xstrict=0
caret.policy.xeven=0
caret.policy.xjumps=0
caret.policy.yslop=1
caret.policy.lines=1
caret.policy.ystrict=1
caret.policy.yeven=1
caret.policy.yjumps=0

statusbar.number=4
statusbar.text.1=\
li=$(LineNumber) co=$(ColumnNumber) $(OverType) ($(EOLMode)) $(FileAttr)
statusbar.text.2=\
$(BufferLength) chars in $(NbOfLines) lines. Sel: $(SelLength) chars.
statusbar.text.3=\
Now is: Date=$(CurrentDate) Time=$(CurrentTime)
statusbar.text.4=\
$(FileNameExt) : $(FileDate) - $(FileTime) | $(FileAttr)

if PLAT_WIN
	command.scite.help="file://$(SciteDefaultHome)\SciTEDoc.html"
	command.scite.help.subsystem=2
if PLAT_GTK
	command.print.*=a2ps "$(FileNameExt)"
	command.scite.help=netscape "file://$(SciteDefaultHome)/SciTEDoc.html"

code.page=65001
output.code.page=65001

export.html.wysiwyg=1
export.html.styleused=1
export.pdf.magnification=0
export.pdf.font=Helvetica
export.pdf.pagesize=595,842
export.pdf.margins=72,72,72,72
export.xml.collapse.spaces=1
export.xml.collapse.lines=1

chars.alpha=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
chars.numeric=0123456789
chars.accented=ŠšŒœŸÿÀàÁáÂâÃãÄäÅåÆæÇçÈèÉéÊêËëÌìÍíÎîÏïÐðÑñÒòÓóÔôÕõÖØøÙùÚúÛûÜüÝýÞþßö



if PLAT_WIN
        font.size=10
        font.size.small=8
	font.base=font:Verdana,size:$(font.size)
	font.small=font:Verdana,size:$(font.size.small)
	font.monospace=font:Courier New,size:$(font.size)
if PLAT_GTK
        font.size=10
        font.size.small=8
	font.base=font:!Bitstream Vera Sans,size:$(font.size)
	font.small=font:!Bitstream Vera Sans,size:$(font.size.small)
	font.monospace=font:!Bitstream Vera Sans Mono,size:$(font.size)

font.comment=$(font.base)
font.code.comment.box=$(font.comment)
font.code.comment.line=$(font.comment)
font.code.comment.doc=$(font.comment)
font.text=$(font.base)
font.text.comment=$(font.comment)
font.embedded.base=$(font.base)
font.embedded.comment=$(font.base)
font.vbs=$(font.monospace)
font.js=$(font.comment)


colour.comment=fore:#600000
colour.code.comment.box=$(colour.comment)
colour.code.comment.line=$(colour.comment)
colour.code.comment.doc=$(colour.comment)
colour.text.comment=$(colour.comment)
colour.other.comment=$(colour.comment)
colour.embedded.comment=$(colour.comment)
colour.embedded.js=$(colour.string)
colour.notused=back:#FF0000

colour.number=fore:#000000
colour.keyword=fore:#804000
colour.string=fore:#006000
colour.char=fore:#006000
colour.operator=fore:#000000
colour.preproc=fore:#804000
colour.error=fore:#FFFF00,back:#FF0000

style.*.32=$(font.base)
style.*.33=back:#C0C0C0,$(font.small)
style.*.34=fore:#0000FF,bold
style.*.35=fore:#FF0000,bold
style.*.36=
style.*.37=fore:#C0C0C0,back:#FFFFFF

if PLAT_WIN
	#print.colour.mode=1
	print.magnification=-1
	# Setup: left, right, top, bottom margins, in local units:
	# hundredths of millimeters or thousandths of inches
	print.margins=1500,1000,1000,1500
	# Header/footer:
	# && = &; &p = current page
	# &f = file name; &F = full path
	# &d = file date; &D = current date
	# &t = file time; &T = full time
	print.header.format=$(FileNameExt) — Printed on $(CurrentDate), $(CurrentTime) — Page $(CurrentPage)
	print.footer.format=$(FilePath) — File date: $(FileDate) — File time: $(FileTime)
	# Header/footer style
	print.header.style=font:Arial,size:12,bold
	print.footer.style=font:Arial Narrow,size:10,italics

##############################################################################
# Languages

source.files=*.rpy;*.rpym;*.c;*.cc;*.cpp;*.cxx;*.h;*.hh;*.hxx;*.hpp;\
*.js;*.py;*.html;*.lua

if PLAT_WIN
	all.files=All Files (*.*)|*.*|
if PLAT_GTK
	all.files=All Files (*)|*|Hidden Files (.*)|.*|
open.filter=\
All Source|$(source.files)|\
$(all.files)\
$(filter.renpy)\
$(filter.cpp)\
$(filter.css)\
$(filter.js)\
$(filter.nsis)\
$(filter.properties)\
$(filter.python)\
$(filter.text)\
$(filter.web)\
$(filter.lua)


menu.language=\
Ren'Py|rpy||\
Text|txt||\
Batch|batch||\
C / C++|c||\
CSS|css||\
Difference|diff||\
Hypertext|html||\
JavaScript|js||\
NSIS|nsis||\
Properties|properties||\
Python|py||\
Lua|lua||

user.shortcuts=\
Ctrl+Shift+V|IDM_PASTEANDDOWN|\
Ctrl+PageUp|IDM_PREVFILE|\
Ctrl+PageDown|IDM_NEXTFILE|


##############################################################################
# Ren'Py

file.patterns.rpy=*.rpy;*.rpym

extension.*.rpy=$(FileDir)/completion.lua

filter.renpy=RenPy (rpy,rpym)|$(file.patterns.rpy)|

lexer.$(file.patterns.rpy)=renpy

keywordclass.renpy=at call expression hide image init jump label menu \
onlayer python scene set show with \
and assert break class continue def del elif \
else except exec finally for from global if import in is lambda None \
not or pass print raise return try while yield $ \
play queue stop sound music fadeout fadein channel \
voice sustain nvl clear

keywords.$(file.patterns.rpy)=$(keywordclass.renpy)

statement.indent.$(file.patterns.rpy)=10 :
statement.end.$(file.patterns.rpy)=
statement.lookback.$(file.patterns.rpy)=0
block.start.$(file.patterns.rpy)=
block.end.$(file.patterns.rpy)=

tab.timmy.whinge.level=1

comment.block.renpy=## 


style.renpy.0=fore:#808080
style.renpy.1=$(colour.comment),$(font.comment)
style.renpy.2=
style.renpy.3=$(colour.string)
style.renpy.4=$(colour.string)
style.renpy.5=$(colour.keyword)
style.renpy.6=$(colour.string)
style.renpy.7=$(colour.string)
style.renpy.8=
style.renpy.9=
style.renpy.10=
style.renpy.11=
style.renpy.12=$(colour.comment)
style.renpy.13=fore:#000000,$(font.monospace),back:#E0C0E0,eolfilled
style.renpy.14=fore:#407090
style.renpy.15=
style.renpy.34=fore:#0000FF,bold
style.renpy.35=fore:#FF0000,bold
braces.renpy.style=10

command.name.0.*.rpy=Start RenPy
if PLAT_WIN
    command.0.*.rpy="$(FileDir)/../../renpy.exe" "--game" "$(FileDir)"
if PLAT_GTK
    command.0.*.rpy="$(FileDir)/../../renpy.sh" "--game" "$(FileDir)"
command.subsystem.0.*.rpy=1
command.is.filter.0.*.rpy=1



##############################################################################
# Python

file.patterns.py=*.py;*.pyw
file.patterns.scons=SConstruct;SConscript

shbang.python=py

filter.python=Python (py pyw)|$(file.patterns.py)|

lexer.$(file.patterns.py)=python
lexer.$(file.patterns.scons)=python

keywordclass.python=and assert break class continue def del elif \
else except exec finally for from global if import in is lambda None \
not or pass print raise return try while yield $

keywords.$(file.patterns.py)=$(keywordclass.python)
keywords.$(file.patterns.scons)=$(keywordclass.python)

statement.indent.$(file.patterns.py)=10 :
statement.end.$(file.patterns.py)=
statement.lookback.$(file.patterns.py)=0
block.start.$(file.patterns.py)=
block.end.$(file.patterns.py)=

tab.timmy.whinge.level=1

comment.block.python=#~

style.python.0=
style.python.1=$(colour.comment),$(font.comment)
style.python.2=
style.python.3=$(colour.string)
style.python.4=$(colour.string)
style.python.5=$(colour.keyword)
style.python.6=$(colour.string)
style.python.7=$(colour.string)
style.python.8=
style.python.9=
style.python.10=
style.python.11=
style.python.12=$(colour.comment)
style.python.13=fore:#000000,$(font.monospace),back:#E0C0E0,eolfilled
style.python.14=fore:#407090
style.python.15=
style.python.34=fore:#0000FF,bold
style.python.35=fore:#FF0000,bold
braces.python.style=10

if PLAT_WIN
	command.go.*.py=pythonw -u "$(FileNameExt)"
	command.go.subsystem.*.py=1
	command.go.*.pyw=pythonw -u "$(FileNameExt)"
	command.go.subsystem.*.pyw=1
	command.build.SConscript=scons.bat --up .
	command.build.SConstruct=scons.bat .

if PLAT_GTK
	command.go.*.py=python -u "$(FileNameExt)"
	command.build.SConscript=scons --up .
	command.build.SConstruct=scons .

command.name.1.*.py=Syntax Check
command.1.*.py=python -c "import py_compile; py_compile.compile(r'$(FilePath)')"


##############################################################################
# Other languages. (C-like, html, nsis, lua, 

command.build.directory.*.cxx=..\win32
command.build.directory.*.h=..\win32
command.build.*.cxx=nmake -f scite.mak DEBUG=1 QUIET=1
command.build.*.h=nmake -f scite.mak DEBUG=1 QUIET=1
command.go.*.cxx=..\bin\SciTE
command.go.*.h=..\bin\SciTE
command.go.needs.*.cxx=cmd /c cd ..\win32 && nmake -f scite.mak DEBUG=1 QUIET=1

file.patterns.cpp=*.c;*.cc;*.cpp;*.cxx;*.h;*.hh;*.hpp;*.hxx;*.sma
file.patterns.cplusplus=*.cc;*.cpp;*.cxx
file.patterns.test=*.pln;*.inc;*.t
file.patterns.cs=*.cs
file.patterns.d=*.d
file.patterns.rc=*.rc;*.rc2;*.dlg
file.patterns.idl=*.idl;*.odl
file.patterns.flash=*.as;*.asc;*.jsfl
file.patterns.ch=*.ch;*.chf;*.chs
file.patterns.c.like=$(file.patterns.cpp);$(file.patterns.cs);$(file.patterns.d);$(file.patterns.idl);*.java;$(file.patterns.flash);$(file.patterns.ch)

filter.cpp=C/C++ (c cc cpp cxx cs h hh hxx hpp dlg rc rc2 mak)|\
$(file.patterns.cpp);$(file.patterns.cs);$(file.patterns.rc);*.mak;make*|
filter.d=D (d)|*.d|
filter.java=Java (java)|*.java|
filter.js=JavaScript (js)|*.js|
filter.idl=IDL (idl odl)|$(file.patterns.idl)|
filter.test=SilkTest (pln inc t)|$(file.patterns.test)|
filter.flash=Flash (as asc jsfl)|$(file.patterns.flash)|
filter.ch=Ch (ch chf chs)|$(file.patterns.ch)|

lexer.*.java=cpp
lexer.$(file.patterns.cpp)=cpp
lexer.$(file.patterns.d)=cpp
lexer.$(file.patterns.rc)=cpp
lexer.$(file.patterns.idl)=cpp
lexer.$(file.patterns.cs)=cpp
lexer.*.js=cpp
lexer.$(file.patterns.test)=cpp
lexer.$(file.patterns.flash)=cpp
lexer.$(file.patterns.ch)=cpp

keywordclass.cpp=and and_eq asm auto bitand bitor bool break \
case catch char class compl const const_cast continue \
default delete do double dynamic_cast else enum explicit export extern false float for \
friend goto if inline int long mutable namespace new not not_eq \
operator or or_eq private protected public \
register reinterpret_cast return short signed sizeof static static_cast struct switch \
template this throw true try typedef typeid typename union unsigned using \
virtual void volatile wchar_t while xor xor_eq
keywords.$(file.patterns.cpp)=$(keywordclass.cpp)
keywords3.$(file.patterns.cpp)=a addindex addtogroup anchor arg attention \
author b brief bug c class code date def defgroup deprecated dontinclude \
e em endcode endhtmlonly endif endlatexonly endlink endverbatim enum example exception \
f$ f[ f] file fn hideinitializer htmlinclude htmlonly \
if image include ingroup internal invariant interface latexonly li line link \
mainpage name namespace nosubgrouping note overload \
p page par param post pre ref relates remarks return retval \
sa section see showinitializer since skip skipline struct subsection \
test throw todo typedef union until \
var verbatim verbinclude version warning weakgroup $ @ \ & < > # { }

word.chars.cxx=$(chars.alpha)$(chars.numeric)_#
word.characters.$(file.patterns.cpp)=$(word.chars.cxx)
word.characters.$(file.patterns.cs)=$(word.chars.cxx)
calltip.cpp.word.characters=$(chars.alpha)$(chars.numeric)_
comment.block.cpp=//~
comment.stream.start.cpp=/*
comment.stream.end.cpp=*/
comment.box.start.cpp=/*
comment.box.middle.cpp= *
comment.box.end.cpp= */

statement.indent.$(file.patterns.c.like)=5 case catch class default do else finally \
for if private protected public struct try union while
statement.end.$(file.patterns.c.like)=10 ;
statement.lookback.$(file.patterns.c.like)=20
block.start.$(file.patterns.c.like)=10 {
block.end.$(file.patterns.c.like)=10 }


preprocessor.symbol.$(file.patterns.cpp)=#
preprocessor.start.$(file.patterns.cpp)=if ifdef ifndef
preprocessor.middle.$(file.patterns.cpp)=else elif
preprocessor.end.$(file.patterns.cpp)=endif

preprocessor.symbol.$(file.patterns.cs)=#
preprocessor.start.$(file.patterns.cs)=if region
preprocessor.middle.$(file.patterns.cs)=else elif
preprocessor.end.$(file.patterns.cs)=endif endregion

keywordclass.ch=\
auto array bool break case char class complex ComplexInf ComplexNaN \
const continue default delete \
do double else enum export extern float for foreach goto if Inf inline int \
long namespace NaN new NULL private public register restrict return short \
signed sizeof static string_t struct switch this typedef union unsigned \
using void volatile wchar_t while __declspec
keywords.$(file.patterns.ch)=$(keywordclass.ch)
word.chars.ch=$(chars.alpha)$(chars.numeric)_#
word.characters.$(file.patterns.ch)=$(word.chars.cxx)
comment.block.ch=//~
comment.stream.start.ch=/*
comment.stream.end.ch=*/
comment.box.start.ch=/*
comment.box.middle.ch= *
comment.box.end.ch= */
preprocessor.symbol.$(file.patterns.ch)=#
preprocessor.start.$(file.patterns.ch)=if ifdef ifndef
preprocessor.middle.$(file.patterns.ch)=else elif
preprocessor.end.$(file.patterns.ch)=endif

keywordclass.cs=abstract as base bool break byte case catch char checked class \
const continue decimal default delegate do double else enum \
event explicit extern false finally fixed float for foreach goto if \
implicit in int interface internal is lock long namespace new null \
object operator out override params private protected public \
readonly ref return sbyte sealed short sizeof stackalloc static \
string struct switch this throw true try typeof uint ulong \
unchecked unsafe ushort using virtual void while
keywords.$(file.patterns.cs)=$(keywordclass.cs)
word.characters.$(file.patterns.cs)=$(word.chars.cxx)

keywordclass.d=abstract alias align asm assert auto \
bit body break byte case cast catch cdouble cent cfloat char class const continue creal \
dchar debug default delegate delete deprecated do double \
else enum export extern false final finally float for foreach function \
goto idouble if ifloat import in inout int interface invariant ireal is \
long mixin module new null out override package pragma private protected public \
real return short static struct super switch synchronized \
template this throw true try typedef typeid typeof \
ubyte ucent uint ulong union unittest ushort version void volatile wchar while with
keywords.$(file.patterns.d)=$(keywordclass.d)

keywordclass.rc=\
ACCELERATORS ALT AUTO3STATE AUTOCHECKBOX AUTORADIOBUTTON \
BEGIN BITMAP BLOCK BUTTON CAPTION CHARACTERISTICS CHECKBOX CLASS \
COMBOBOX CONTROL CTEXT CURSOR DEFPUSHBUTTON DIALOG DIALOGEX DISCARDABLE \
EDITTEXT END EXSTYLE FONT GROUPBOX ICON LANGUAGE LISTBOX LTEXT \
MENU MENUEX MENUITEM MESSAGETABLE POPUP \
PUSHBUTTON RADIOBUTTON RCDATA RTEXT SCROLLBAR SEPARATOR SHIFT STATE3 \
STRINGTABLE STYLE TEXTINCLUDE VALUE VERSION VERSIONINFO VIRTKEY
keywords.$(file.patterns.rc)=$(keywordclass.rc)

keywordclass.idl=\
aggregatable allocate appobject arrays async async_uuid \
auto_handle \
bindable boolean broadcast byte byte_count \
call_as callback char coclass code comm_status \
const context_handle context_handle_noserialize \
context_handle_serialize control cpp_quote custom \
decode default defaultbind defaultcollelem \
defaultvalue defaultvtable dispinterface displaybind dllname \
double dual \
enable_allocate encode endpoint entry enum error_status_t \
explicit_handle \
fault_status first_is float \
handle_t heap helpcontext helpfile helpstring \
helpstringcontext helpstringdll hidden hyper \
id idempotent ignore iid_as iid_is immediatebind implicit_handle \
import importlib in include in_line int __int64 __int3264 interface \
last_is lcid length_is library licensed local long \
max_is maybe message methods midl_pragma \
midl_user_allocate midl_user_free min_is module ms_union \
ncacn_at_dsp ncacn_dnet_nsp ncacn_http ncacn_ip_tcp \
ncacn_nb_ipx ncacn_nb_nb ncacn_nb_tcp ncacn_np \
ncacn_spx ncacn_vns_spp ncadg_ip_udp ncadg_ipx ncadg_mq \
ncalrpc nocode nonbrowsable noncreatable nonextensible notify \
object odl oleautomation optimize optional out out_of_line \
pipe pointer_default pragma properties propget propput propputref \
ptr public \
range readonly ref represent_as requestedit restricted retval \
shape short signed size_is small source strict_context_handle \
string struct switch switch_is switch_type \
transmit_as typedef \
uidefault union unique unsigned user_marshal usesgetlasterror uuid \
v1_enum vararg version void wchar_t wire_marshal

keywordclass.msidl=handle
keywordclass.xpidl=attribute native noscript scriptable shared wstring inout
keywords.$(file.patterns.idl)=$(keywordclass.idl) $(keywordclass.xpidl)

keywordclass.java=abstract assert boolean break byte case catch char class \
const continue default do double else extends final finally float for future \
generic goto if implements import inner instanceof int interface long \
native new null outer package private protected public rest \
return short static super switch synchronized this throw throws \
transient try var void volatile while
keywords.*.java=$(keywordclass.java)

keywordclass.javascript=abstract boolean break byte case catch char class \
const continue debugger default delete do double else enum export extends \
final finally float for function goto if implements import in instanceof \
int interface long native new package private protected public \
return short static super switch synchronized this throw throws \
transient try typeof var void volatile while with
keywords.*.js=$(keywordclass.javascript)

keywordclass.flash=add and break case catch class continue default delete do \
dynamic else eq extends false finally for function ge get gt if implements import in \
instanceof interface intrinsic le lt ne new not null or private public return \
set static super switch this throw true try typeof undefined var void while with

keywordclass2.flash=Array Arguments Accessibility Boolean Button Camera Color \
ContextMenu ContextMenuItem Date Error Function Key LoadVars LocalConnection Math \
Microphone Mouse MovieClip MovieClipLoader NetConnection NetStream Number Object \
PrintJob Selection SharedObject Sound Stage String StyleSheet System TextField \
TextFormat TextSnapshot Video Void XML XMLNode XMLSocket \
_accProps _focusrect _global _highquality _parent _quality _root _soundbuftime \
arguments asfunction call capabilities chr clearInterval duplicateMovieClip \
escape eval fscommand getProperty getTimer getURL getVersion gotoAndPlay gotoAndStop \
ifFrameLoaded Infinity -Infinity int isFinite isNaN length loadMovie loadMovieNum \
loadVariables loadVariablesNum maxscroll mbchr mblength mbord mbsubstring MMExecute \
NaN newline nextFrame nextScene on onClipEvent onUpdate ord parseFloat parseInt play \
prevFrame prevScene print printAsBitmap printAsBitmapNum printNum random removeMovieClip \
scroll set setInterval setProperty startDrag stop stopAllSounds stopDrag substring \
targetPath tellTarget toggleHighQuality trace unescape unloadMovie unLoadMovieNum updateAfterEvent

keywords.$(file.patterns.flash)=$(keywordclass.flash)
keywords2.$(file.patterns.flash)=$(keywordclass2.flash)


style.cpp.32=$(font.base)
style.cpp.0=fore:#808080
style.cpp.1=$(colour.code.comment.box),$(font.code.comment.box)
style.cpp.2=$(colour.code.comment.line),$(font.code.comment.line)
style.cpp.3=$(colour.code.comment.doc),$(font.code.comment.doc)
style.cpp.4=$(colour.number)
style.cpp.5=$(colour.keyword),bold
style.cpp.6=$(colour.string)
style.cpp.7=$(colour.char)
style.cpp.8=fore:#804080
style.cpp.9=$(colour.preproc)
style.cpp.10=$(colour.operator),bold
style.cpp.11=
style.cpp.12=fore:#000000,$(font.monospace),back:#E0C0E0,eolfilled
style.cpp.13=fore:#007F00,$(font.monospace),back:#E0FFE0,eolfilled
style.cpp.14=fore:#3F7F3F,$(font.monospace),back:#E0F0FF,eolfilled
style.cpp.15=$(colour.code.comment.doc),$(font.code.comment.doc)
style.cpp.16=fore:#B00040
style.cpp.17=fore:#3060A0,$(font.code.comment.doc)
style.cpp.18=fore:#804020,$(font.code.comment.doc)
braces.cpp.style=10

ccopts=-pedantic -Os
cc=g++ $(ccopts) -c $(FileNameExt) -o $(FileName).o
ccc=gcc $(ccopts) -c $(FileNameExt) -o $(FileName).o

make.command=make
command.compile.*.c=$(ccc) -std=c99
command.build.*.c=$(make.command)
command.go.*.c=$(FileName)

command.compile.$(file.patterns.cplusplus)=$(cc)
command.build.$(file.patterns.cplusplus)=$(make.command)
command.go.$(file.patterns.cplusplus)=./$(FileName)
command.go.needs.$(file.patterns.cplusplus)=g++ $(ccopts) $(FileNameExt) -o $(FileName)

command.build.*.h=$(make.command)

command.name.0.$(file.patterns.cpp)=Indent
command.0.$(file.patterns.cpp)=astyle -tapOK $(FileNameExt)
command.is.filter.0.$(file.patterns.cpp)=1

command.name.1.$(file.patterns.cplusplus)=Lint
command.1.$(file.patterns.cplusplus)=g++ -W -Wall -Wshadow -Wwrite-strings -Wold-style-cast \
	-Woverloaded-virtual -pedantic -Os -fno-exceptions -c $(FileNameExt)

if PLAT_WIN
	command.compile.*.rc=windres $(FileNameExt) $(FileName).o
	command.build.*.rc=$(make.command)
	command.help.$(file.patterns.cpp)=$(CurrentWord)!G:\Program Files\Microsoft Visual Studio\MSDN98\98VSa\1033\MSDNVS6A.COL
	command.help.subsystem.$(file.patterns.cpp)=4
	command.go.*.js=cscript /nologo $(FileNameExt)

if PLAT_GTK
	command.help.$(file.patterns.cpp)=man $(CurrentWord) | col -b

if PLAT_WIN
	command.build.*.cs=csc /t:winexe $(FileNameExt) /r:system.dll,system.drawing.dll
	command.go.*.cs=$(FileName)
	command.go.subsystem.*.cs=1
if PLAT_GTK
	command.build.*.cs=mcs /t:winexe $(FileNameExt) /r:System,System.Drawing
	command.go.*.cs=mono $(FileName).exe
	command.go.subsystem.*.cs=1

command.compile.*.d=dmd -O $(FileNameExt)
command.build.*.d=$(make.command)
command.go.*.d=$(FileName)

command.compile.*.java=javac $(FileNameExt)
command.build.*.java=javac *.java
command.go.*.java=java $(FileName)

command.compile.*.ch=ch -n $(FileNameExt)
command.build.*.ch=ch -n  $(FileNameExt)
command.go.*.ch=ch -u $(FileNameExt)

command.compile.*.as=mtasc -strict $(FileNameExt)
command.build.*.as=mtasc -strict *.as

filter.css=CSS (css)|*.css|
lexer.*.css=css

indent.size.*.css=4
tab.size.*.css=4
use.tabs.*.css=1

keywordclass.css=\
color background-color background-image background-repeat background-attachment background-position background \
font-family font-style font-variant font-weight font-size font \
word-spacing letter-spacing text-decoration vertical-align text-transform text-align text-indent line-height \
margin-top margin-right margin-bottom margin-left margin \
padding-top padding-right padding-bottom padding-left padding \
border-top-width border-right-width border-bottom-width border-left-width border-width \
border-top border-right border-bottom border-left border \
border-color border-style width height float clear \
display white-space list-style-type list-style-image list-style-position list-style

keywordclass.values=\
auto none normal italic oblique small-caps bold bolder lighter \
xx-small x-small small medium large x-large xx-large larger smaller \
transparent repeat repeat-x repeat-y no-repeat scroll fixed \
top bottom left center right justify both \
underline overline line-through blink \
baseline sub super text-top middle text-bottom \
capitalize uppercase lowercase thin medium thick \
dotted dashed solid double groove ridge inset outset \
block inline list-item pre no-wrap inside outside \
disc circle square decimal lower-roman upper-roman lower-alpha upper-alpha \
aqua black blue fuchsia gray green lime maroon navy olive purple red silver teal white yellow




keywordclass.css2=\
border-top-color border-right-color border-bottom-color border-left-color border-color \
border-top-style border-right-style border-bottom-style border-left-style border-style \
top right bottom left position z-index direction unicode-bidi \
min-width max-width min-height max-height overflow clip visibility content quotes \
counter-reset counter-increment marker-offset \
size marks page-break-before page-break-after page-break-inside page orphans widows \
font-stretch font-size-adjust unicode-range units-per-em src \
panose-1 stemv stemh slope cap-height x-height ascent descent widths bbox definition-src \
baseline centerline mathline topline text-shadow \
caption-side table-layout border-collapse border-spacing empty-cells speak-header \
cursor outline outline-width outline-style outline-color \
volume speak pause-before pause-after pause cue-before cue-after cue \
play-during azimuth elevation speech-rate voice-family pitch pitch-range stress richness \
speak-punctuation speak-numeral

keywordclass.values2=\
inherit \
run-in compact marker table inline-table table-row-group table-header-group table-footer-group \
table-row table-column-group table-column table-cell table-caption \
static relative absolute fixed ltr rtl embed bidi-override \
visible hidden scroll collapse open-quote close-quote no-open-quote no-close-quote \
decimal-leading-zero lower-greek lower-latin upper-latin hebrew armenian georgian \
cjk-ideographic hiragana katakana hiragana-iroha katakana-iroha \
landscape portrait crop cross always avoid \
wider narrower ultra-condensed extra-condensed condensed semi-condensed \
semi-expanded expanded extra-expanded ultra-expanded \
caption icon menu message-box small-caption status-bar \
separate show hide once crosshair default pointer move text wait help \
e-resize ne-resize nw-resize n-resize se-resize sw-resize s-resize w-resize \
ActiveBorder ActiveCaption AppWorkspace Background ButtonFace ButtonHighlight ButtonShadow \
InactiveCaptionText ButtonText CaptionText GrayText Highlight HighlightText InactiveBorder \
InactiveCaption InfoBackground InfoText Menu MenuText Scrollbar ThreeDDarkShadow \
ThreeDFace ThreeDHighlight ThreeDLightShadow ThreeDShadow Window WindowFrame WindowText \
silent x-soft soft medium loud x-loud spell-out mix \
left-side far-left center-left center-right far-right right-side behind leftwards rightwards \
below level above higher lower x-slow slow medium fast x-fast faster slower \
male female child x-low low high x-high code digits continous



keywords.*.css=$(keywordclass.css)

keywords2.*.css=first-letter first-line link active visited \
first-child focus hover lang before after left right first

keywords3.*.css=$(keywordclass.css2)

word.characters.*.css=$(chars.alpha)$(chars.numeric)-

comment.stream.start.css=/*
comment.stream.end.css=*/

style.css.32=$(font.code.base)
style.css.0=fore:#FF0080
style.css.1=$(colour.keyword),bold
style.css.2=
style.css.3=fore:#800000
style.css.4=fore:#FF0000
style.css.5=$(colour.operator)
style.css.6=fore:#0040E0
style.css.7=fore:#FF0000
style.css.8=$(colour.string)
style.css.9=$(colour.code.comment.box),$(font.code.comment.box)
style.css.10=$(colour.number),italics
style.css.11=fore:#FF8000,bold
style.css.12=$(colour.preproc),bold
style.css.13=$(colour.string)
style.css.14=$(colour.string)
style.css.15=fore:#00A0E0
style.css.16=fore:#800000

block.start.*.css=5 {
block.end.*.css=5 }


file.patterns.web=*.html;*.htm;*.asp;*.shtml;*.htd;*.jsp
file.patterns.php=*.php3;*.phtml;*.php
file.patterns.html=$(file.patterns.web);$(file.patterns.php);*.htt;*.cfm;*.tpl;*.dtd;*.hta
file.patterns.vxml=*.vxml
file.patterns.xml=*.xml;*.xsl;*.svg;*.xul;*.xsd;*.dtd;*.xslt;*.axl;*.xrc;*.rdf
file.patterns.docbook=*.docbook

lexer.$(file.patterns.html)=hypertext
lexer.$(file.patterns.vxml)=hypertext
lexer.$(file.patterns.xml)=xml
lexer.$(file.patterns.docbook)=hypertext

filter.web=Web (html htm asp shtml css xml docbook jsp)|$(file.patterns.web);*.css;*.xml;*.docbook|
filter.php=PHP (php php3 phtml)|$(file.patterns.php)|

fold.html=1



hypertext.elements=\
a abbr acronym address applet area b base basefont \
bdo big blockquote body br button caption center \
cite code col colgroup dd del dfn dir div dl dt em \
fieldset font form frame frameset h1 h2 h3 h4 h5 h6 \
head hr html i iframe img input ins isindex kbd label \
legend li link map menu meta noframes noscript \
object ol optgroup option p param pre q s samp \
script select small span strike strong style sub sup \
table tbody td textarea tfoot th thead title tr tt u ul \
var xml xmlns

hypertext.attributes=\
abbr accept-charset accept accesskey action align alink \
alt archive axis background bgcolor border \
cellpadding cellspacing char charoff charset checked cite \
class classid clear codebase codetype color cols colspan \
compact content coords \
data datafld dataformatas datapagesize datasrc datetime \
declare defer dir disabled enctype event \
face for frame frameborder \
headers height href hreflang hspace http-equiv \
id ismap label lang language leftmargin link longdesc \
marginwidth marginheight maxlength media method multiple \
name nohref noresize noshade nowrap \
object onblur onchange onclick ondblclick onfocus \
onkeydown onkeypress onkeyup onload onmousedown \
onmousemove onmouseover onmouseout onmouseup \
onreset onselect onsubmit onunload \
profile prompt readonly rel rev rows rowspan rules \
scheme scope selected shape size span src standby start style \
summary tabindex target text title topmargin type usemap \
valign value valuetype version vlink vspace width \
text password checkbox radio submit reset \
file hidden image

html5.elements=\
article aside calendar canvas card command commandset datagrid datatree \
footer gauge header m menubar menulabel nav progress section switch tabbox

html5.attributes=\
active command contenteditable ping

keywordclass.hypertext=\
$(hypertext.elements) $(hypertext.attributes) $(html5.elements) $(html5.attributes) public !doctype

vxml.elements=\
assign audio block break catch choice clear disconnect else elseif \
emphasis enumerate error exit field filled form goto grammar help \
if initial link log menu meta noinput nomatch object option p paragraph \
param phoneme prompt property prosody record reprompt return s say-as \
script sentence subdialog submit throw transfer value var voice vxml

vxml.attributes=\
accept age alphabet anchor application base beep bridge category charset \
classid cond connecttimeout content contour count dest destexpr dtmf dtmfterm \
duration enctype event eventexpr expr expritem fetchtimeout finalsilence \
gender http-equiv id level maxage maxstale maxtime message messageexpr \
method mime modal mode name namelist next nextitem ph pitch range rate \
scope size sizeexpr skiplist slot src srcexpr sub time timeexpr timeout \
transferaudio type value variant version volume xml:lang

keywordclass.vxml=\
$(vxml.elements) $(vxml.attributes) public !doctype

keywordclass.php=\
and array as bool boolean break case cfunction class const continue declare \
default die directory do double echo else elseif empty enddeclare endfor \
endforeach endif endswitch endwhile eval exit extends false float for \
foreach function global if include include_once int integer isset list new \
null object old_function or parent print real require require_once resource \
return static stdclass string switch true unset use var while xor \
abstract catch clone exception final implements interface php_user_filter \
private protected public this throw try \
__class__ __file__ __function__ __line__ __method__ __sleep __wakeup

import phpfunctions

keywords.$(file.patterns.html)=$(keywordclass.hypertext)
keywords2.$(file.patterns.html)=$(keywordclass.javascript)
keywords3.$(file.patterns.html)=$(keywordclass.vb)
keywords4.$(file.patterns.html)=$(keywordclass.python)
keywords5.$(file.patterns.html)=$(keywordclass.php)
keywords6.$(file.patterns.html)=ELEMENT DOCTYPE ATTLIST ENTITY NOTATION

docbook.elements42=\
abbrev abstract accel ackno acronym action address affiliation alt anchor \
answer appendix appendixinfo application area areaset areaspec arg article \
articleinfo artpagenums attribution audiodata audioobject author authorblurb \
authorgroup authorinitials beginpage bibliocoverage bibliodiv biblioentry \
bibliography bibliographyinfo biblioid bibliomisc bibliomixed bibliomset \
bibliorelation biblioset bibliosource blockinfo blockquote book bookinfo \
bridgehead callout calloutlist caption caution chapter chapterinfo citation \
citebiblioid citerefentry citetitle city classname classsynopsis classsynopsisinfo \
cmdsynopsis co collab collabname colophon colspec command computeroutput \
confdates confgroup confnum confsponsor conftitle constant constraint \
constraintdef constructorsynopsis contractnum contractsponsor contrib \
copyright coref corpauthor corpname country database date dedication \
destructorsynopsis edition editor email emphasis entry entrytbl envar \
epigraph equation errorcode errorname errortext errortype example \
exceptionname fax fieldsynopsis figure filename firstname firstterm \
footnote footnoteref foreignphrase formalpara funcdef funcparams \
funcprototype funcsynopsis funcsynopsisinfo function glossary glossaryinfo \
glossdef glossdiv glossentry glosslist glosssee glossseealso glossterm \
graphic graphicco group guibutton guiicon guilabel guimenu guimenuitem \
guisubmenu hardware highlights holder honorific htm imagedata imageobject \
imageobjectco important index indexdiv indexentry indexinfo indexterm \
informalequation informalexample informalfigure informaltable initializer \
inlineequation inlinegraphic inlinemediaobject interface interfacename \
invpartnumber isbn issn issuenum itemizedlist itermset jobtitle keycap \
keycode keycombo keysym keyword keywordset label legalnotice lhs lineage \
lineannotation link listitem iteral literallayout lot lotentry manvolnum \
markup medialabel mediaobject mediaobjectco member menuchoice methodname \
methodparam methodsynopsis mm modespec modifier ousebutton msg msgaud \
msgentry msgexplan msginfo msglevel msgmain msgorig msgrel msgset msgsub \
msgtext nonterminal note objectinfo olink ooclass ooexception oointerface \
option optional orderedlist orgdiv orgname otheraddr othercredit othername \
pagenums para paramdef parameter part partinfo partintro personblurb \
personname phone phrase pob postcode preface prefaceinfo primary primaryie \
printhistory procedure production productionrecap productionset productname \
productnumber programlisting programlistingco prompt property pubdate publisher \
publishername pubsnumber qandadiv qandaentry qandaset question quote refclass \
refdescriptor refentry refentryinfo refentrytitle reference referenceinfo \
refmeta refmiscinfo refname refnamediv refpurpose refsect1 refsect1info refsect2 \
refsect2info refsect3 refsect3info refsection refsectioninfo refsynopsisdiv \
refsynopsisdivinfo releaseinfo remark replaceable returnvalue revdescription \
revhistory revision revnumber revremark rhs row sbr screen screenco screeninfo \
screenshot secondary secondaryie sect1 sect1info sect2 sect2info sect3 sect3info \
sect4 sect4info sect5 sect5info section sectioninfo see seealso seealsoie \
seeie seg seglistitem segmentedlist segtitle seriesvolnums set setindex \
setindexinfo setinfo sgmltag shortaffil shortcut sidebar sidebarinfo simpara \
simplelist simplemsgentry simplesect spanspec state step street structfield \
structname subject subjectset subjectterm subscript substeps subtitle \
superscript surname sv symbol synopfragment synopfragmentref synopsis \
systemitem table tbody term tertiary tertiaryie textdata textobject tfoot \
tgroup thead tip title titleabbrev toc tocback tocchap tocentry tocfront \
toclevel1 toclevel2 toclevel3 toclevel4 toclevel5 tocpart token trademark \
type ulink userinput varargs variablelist varlistentry varname videodata \
videoobject void volumenum warning wordasword xref year

docbook.attributes=\
arch condition conformance id lang os remap role revision revisionflag security \
userlevel vendor xreflabel \
status label endterm linkend space width

keywordclass.docbook=\
$(docbook.elements42) $(docbook.attributes)

keywords.$(file.patterns.docbook)=$(keywordclass.docbook)
keywords6.$(file.patterns.docbook)=ELEMENT DOCTYPE ATTLIST ENTITY NOTATION

word.characters.$(file.patterns.html)=$(chars.alpha)$(chars.numeric)_-
comment.stream.start.hypertext=<!--
comment.stream.end.hypertext=-->
comment.block.hypertext=//~

keywords.$(file.patterns.xml)=
keywords6.$(file.patterns.xml)=ELEMENT DOCTYPE ATTLIST ENTITY NOTATION

word.characters.$(file.patterns.xml)=$(chars.alpha)$(chars.numeric)_-

keywords.$(file.patterns.vxml)=$(keywordclass.vxml)
keywords2.$(file.patterns.vxml)=$(keywordclass.javascript)



word.characters.$(file.patterns.vxml)=$(chars.alpha)$(chars.numeric)_-


style.hypertext.0=fore:#000000,$(font.text)
style.hypertext.1=fore:#000080
style.hypertext.2=fore:#FF0000
style.hypertext.3=fore:#008080
style.hypertext.4=fore:#FF0000
style.hypertext.5=$(colour.number)
style.hypertext.6=$(colour.string)
style.hypertext.7=$(colour.string)
style.hypertext.8=fore:#800080
style.hypertext.9=fore:#808000,$(font.text.comment)
style.hypertext.10=fore:#800080,$(font.text)
style.hypertext.11=fore:#000080
style.hypertext.12=fore:#0000FF
style.hypertext.13=fore:#0000FF
style.hypertext.14=fore:#000080
style.hypertext.15=back:#FFFF00
style.hypertext.16=back:#FFDF00
style.hypertext.17=back:#FFDF00
style.hypertext.18=fore:#0000FF,back:#FFEFBF
style.hypertext.19=fore:#FF00FF,back:#FFEFFF
style.hypertext.20=fore:#000000,back:#FFFFD0
style.hypertext.21=fore:#000080,back:#EFEFFF
style.hypertext.22=fore:#000080,back:#EFEFFF,bold
style.hypertext.23=fore:#006600,back:#EFEFFF
style.hypertext.24=fore:#800000,back:#EFEFFF
style.hypertext.25=fore:#993300,back:#EFEFFF
style.hypertext.26=fore:#800000,back:#FF6666
style.hypertext.27=fore:#3366FF,back:#EFEFFF
style.hypertext.28=fore:#333333,back:#EFEFFF
style.hypertext.29=fore:#808000,back:#EFEFFF
style.hypertext.31=fore:#000066,back:#CCCCE0
style.hypertext.34=fore:#0000FF,notbold,$(font.text)
style.hypertext.35=fore:#FF0000,notbold,$(font.text)

fontcolour.js=$(colour.embedded.js),$(font.js)
style.hypertext.40=fore:#7F7F00
style.hypertext.41=fore:#000000,bold,$(fontcolour.js),eolfilled
style.hypertext.42=$(colour.code.comment.box),$(fontcolour.js),eolfilled
style.hypertext.43=$(colour.code.comment.line),$(fontcolour.js)
style.hypertext.44=$(colour.code.comment.doc),bold,$(fontcolour.js),eolfilled
style.hypertext.45=$(colour.number),$(fontcolour.js)
style.hypertext.46=fore:#000000,$(fontcolour.js)
style.hypertext.47=$(colour.keyword),bold,$(fontcolour.js)
style.hypertext.48=$(colour.string),$(fontcolour.js)
style.hypertext.49=$(colour.string),$(fontcolour.js)
style.hypertext.50=$(colour.operator),bold,$(fontcolour.js)
style.hypertext.51=back:#BFBBB0,eolfilled
style.hypertext.52=back:#FFBBB0

style.hypertext.55=fore:#7F7F00
style.hypertext.56=fore:#000000,bold,$(font.js),back:#DFDF7F,eolfilled
style.hypertext.57=fore:#007F00,$(font.js),back:#DFDF7F,eolfilled
style.hypertext.58=fore:#007F00,$(font.js),back:#DFDF7F
style.hypertext.59=fore:#7F7F7F,bold,$(font.js),back:#DFDF7F,eolfilled
style.hypertext.60=fore:#007F7F,$(font.js),back:#DFDF7F
style.hypertext.61=fore:#000000,$(font.js),back:#DFDF7F
style.hypertext.62=fore:#00007F,bold,$(font.js),back:#DFDF7F
style.hypertext.63=fore:#7F007F,$(font.js),back:#DFDF7F
style.hypertext.64=fore:#7F007F,$(font.js),back:#DFDF7F
style.hypertext.65=fore:#000000,bold,$(font.js),back:#DFDF7F
style.hypertext.66=back:#BFBBB0,eolfilled
style.hypertext.67=back:#FFBBB0

style.hypertext.70=
style.hypertext.71=$(font.vbs),back:#EFEFFF,fore:#000000,eolfilled
style.hypertext.72=$(font.comment),back:#EFEFFF,fore:#008000,eolfilled
style.hypertext.73=$(font.vbs),back:#EFEFFF,fore:#008080,eolfilled
style.hypertext.74=$(font.vbs),back:#EFEFFF,fore:#000080,bold,eolfilled
style.hypertext.75=$(font.vbs),back:#EFEFFF,fore:#800080,eolfilled
style.hypertext.76=$(font.vbs),back:#EFEFFF,fore:#000080,eolfilled
style.hypertext.77=$(font.vbs),back:#7F7FFF,fore:#000080,eolfilled

style.hypertext.80=
style.hypertext.81=$(font.vbs),back:#CFCFEF,fore:#000000,eolfilled
style.hypertext.82=$(font.comment),back:#CFCFEF,fore:#008000,eolfilled
style.hypertext.83=$(font.vbs),back:#CFCFEF,fore:#008080,eolfilled
style.hypertext.84=$(font.vbs),back:#CFCFEF,fore:#000080,bold,eolfilled
style.hypertext.85=$(font.vbs),back:#CFCFEF,fore:#800080,eolfilled
style.hypertext.86=$(font.vbs),back:#CFCFEF,fore:#000080,eolfilled
style.hypertext.87=$(font.vbs),back:#7F7FBF,fore:#000080,eolfilled

style.hypertext.90=fore:#808080
style.hypertext.91=fore:#808080,back:#EFFFEF,eolfilled
style.hypertext.92=fore:#007F00,$(font.comment),back:#EFFFEF,eolfilled
style.hypertext.93=fore:#007F7F,back:#EFFFEF,eolfilled
style.hypertext.94=fore:#7F007F,$(font.monospace),back:#EFFFEF,eolfilled
style.hypertext.95=fore:#7F007F,$(font.monospace),back:#EFFFEF,eolfilled
style.hypertext.96=fore:#00007F,bold,back:#EFFFEF,eolfilled
style.hypertext.97=fore:#7F0000,back:#EFFFEF,eolfilled
style.hypertext.98=fore:#7F0000,back:#EFFFEF,eolfilled
style.hypertext.99=fore:#0000FF,bold,back:#EFFFEF,eolfilled
style.hypertext.100=fore:#007F7F,bold,back:#EFFFEF,eolfilled
style.hypertext.101=bold,back:#EFFFEF,eolfilled
style.hypertext.102=back:#EFFFEF,eolfilled

style.hypertext.104=fore:#007F00,italics,back:#FFF8F8

style.hypertext.105=fore:#808080
style.hypertext.106=fore:#808080,back:#CFEFCF,eolfilled
style.hypertext.107=fore:#007F00,$(font.comment),back:#CFEFCF,eolfilled
style.hypertext.108=fore:#007F7F,back:#CFEFCF,eolfilled
style.hypertext.109=fore:#7F007F,$(font.monospace),back:#CFEFCF,eolfilled
style.hypertext.110=fore:#7F007F,$(font.monospace),back:#CFEFCF,eolfilled
style.hypertext.111=fore:#00007F,bold,back:#CFEFCF,eolfilled
style.hypertext.112=fore:#7F0000,back:#CFEFCF,eolfilled
style.hypertext.113=fore:#7F0000,back:#CFEFCF,eolfilled
style.hypertext.114=fore:#0000FF,bold,back:#CFEFCF,eolfilled
style.hypertext.115=fore:#007F7F,bold,back:#CFEFCF,eolfilled
style.hypertext.116=bold,back:#CFEFCF,eolfilled
style.hypertext.117=back:#CFEFCF,eolfilled

style.hypertext.118=fore:#000033,back:#FFF8F8,eolfilled
style.hypertext.119=fore:#007F00,back:#FFF8F8
style.hypertext.120=fore:#009F00,back:#FFF8F8
style.hypertext.121=fore:#7F007F,italics,back:#FFF8F8
style.hypertext.122=fore:#CC9900,back:#FFF8F8
style.hypertext.123=fore:#00007F,italics,back:#FFF8F8
style.hypertext.124=fore:#999999,$(font.comment),back:#FFF8F8
style.hypertext.125=fore:#666666,italics,$(font.comment),back:#FFF8F8
style.hypertext.126=fore:#007F00,italics,back:#FFF8F8
style.hypertext.127=fore:#000000,back:#FFF8F8


style.xml.0=fore:#000000,$(font.text)
style.xml.1=fore:#000080
style.xml.2=fore:#000080
style.xml.3=fore:#008080
style.xml.4=fore:#008080
style.xml.5=$(colour.number)
style.xml.6=$(colour.string)
style.xml.7=$(colour.string)
style.xml.8=fore:#800080
style.xml.9=fore:#808000
style.xml.10=fore:#800080,$(font.text)
style.xml.11=fore:#000080
style.xml.12=fore:#800080,bold
style.xml.13=fore:#800080,bold
style.xml.17=fore:#800000,back:#FFF0F0,$(font.text),eolfilled
style.xml.18=fore:#800000
style.xml.19=fore:#608060
style.xml.21=fore:#000080,back:#EFEFFF
style.xml.22=fore:#000080,back:#EFEFFF,bold
style.xml.23=fore:#006600,back:#EFEFFF
style.xml.24=fore:#800000,back:#EFEFFF
style.xml.25=fore:#993300,back:#EFEFFF
style.xml.26=fore:#800000,back:#FF6666
style.xml.27=fore:#3366FF,back:#EFEFFF
style.xml.28=fore:#333333,back:#EFEFFF
style.xml.29=fore:#808000,back:#EFEFFF
style.xml.31=fore:#000066,back:#CCCCE0
braces.xml.style=31

if PLAT_WIN
	command.go.$(file.patterns.web)="file://$(FilePath)"
	command.go.subsystem.$(file.patterns.web)=2
if PLAT_GTK
	command.go.$(file.patterns.web)=netscape "file://$(FilePath)"

command.go.$(file.patterns.php)=php -f "$(FileNameExt)"
command.compile.$(file.patterns.php)=php -l "$(FileNameExt)"

filter.nsis=NSIS (nsi nsh)|*.nsi;*.nsh|
file.patterns.nsis=*.nsi;*.nsh
lexer.$(file.patterns.nsis)=nsis

nsis.uservars=1

keywords.$(file.patterns.nsis)=!addincludedir !addplugindir MakeNSIS Portions \
Contributors: Abort AddBrandingImage AddSize AutoCloseWindow BGFont \
BGGradient BrandingText BringToFront Call CallInstDLL Caption ChangeUI \
ClearErrors ComponentText GetDLLVersion GetDLLVersionLocal GetFileTime \
GetFileTimeLocal CopyFiles CRCCheck CreateDirectory CreateFont CreateShortCut \
SetDatablockOptimize DeleteINISec DeleteINIStr DeleteRegKey DeleteRegValue \
Delete DetailPrint DirText DirShow DirVar DirVerify GetInstDirError AllowRootDirInstall \
CheckBitmap EnableWindow EnumRegKey EnumRegValue Exch Exec ExecWait \
ExecShell ExpandEnvStrings FindWindow FindClose FindFirst FindNext File FileBufSize \
FlushINI ReserveFile FileClose FileErrorText FileOpen FileRead FileWrite FileReadByte \
FileWriteByte FileSeek Function FunctionEnd GetDlgItem GetFullPathName \
GetTempFileName HideWindow Icon IfAbort IfErrors IfFileExists IfRebootFlag IfSilent \
InstallDirRegKey InstallColors InstallDir InstProgressFlags InstType IntOp IntCmp \
IntCmpU IntFmt IsWindow Goto LangString LangStringUP LicenseData \
LicenseForceSelection LicenseLangString LicenseText LicenseBkColor \
LoadLanguageFile LogSet LogText MessageBox Nop Name OutFile Page \
PageCallbacks PageEx PageExEnd Pop Push Quit ReadINIStr ReadRegDWORD \
ReadRegStr ReadEnvStr Reboot RegDLL Rename Return RMDir Section SectionEnd \
SectionIn SubSection SectionGroup SubSectionEnd SectionGroupEnd SearchPath \
SectionSetFlags SectionGetFlags SectionSetInstTypes SectionGetInstTypes \
SectionGetText SectionSetText SectionGetSize SectionSetSize GetCurInstType \
SetCurInstType InstTypeSetText InstTypeGetText SendMessage SetAutoClose \
SetCtlColors SetBrandingImage SetCompress SetCompressor SetCompressorDictSize \
SetCompressionLevel SetDateSave SetDetailsView SetDetailsPrint SetErrors \
SetErrorLevel GetErrorLevel SetFileAttributes SetFont SetOutPath SetOverwrite \
SetPluginUnload SetRebootFlag SetShellVarContext SetSilent ShowInstDetails \
ShowUninstDetails ShowWindow SilentInstall SilentUnInstall Sleep StrCmp StrCpy \
StrLen SubCaption UninstallExeName UninstallCaption UninstallIcon UninstPage \
UninstallText UninstallSubCaption UnRegDLL WindowIcon WriteINIStr WriteRegBin \
WriteRegDWORD WriteRegStr WriteRegExpandStr WriteUninstaller XPStyle !packhdr \
!system !execute !AddIncludeDir !include !cd !ifdef !ifndef !endif !define !undef !else !echo !warning \
!error !verbose !macro !macroend !insertmacro !ifmacrodef !ifmacrondef MiscButtonText \
DetailsButtonText UninstallButtonText InstallButtonText SpaceTexts \
CompletedText GetFunctionAddress GetLabelAddress GetCurrentAddress \
!AddPluginDir InitPluginsDir AllowSkipFiles Var VIAddVersionKey VIProductVersion LockWindow

 
keywords2.$(file.patterns.nsis)=$0 $1 $2 $3 $4 $5 $6 $7 $8 $9 \
$R0 $R1 $R2 $R3 $R4 $R5 $R6 $R7 $R8 $R9 $\t $\" $\' $\` \
$VARNAME $0, $INSTDIR $OUTDIR $CMDLINE $LANGUAGE $PROGRAMFILES \
$COMMONFILES $DESKTOP $EXEDIR ${NSISDIR} $WINDIR $SYSDIR $TEMP \
$STARTMENU $SMPROGRAMS $SMSTARTUP $QUICKLAUNCH $DOCUMENTS \
$SENDTO $RECENT $FAVORITES $MUSIC $PICTURES $VIDEOS $NETHOOD \
$FONTS $TEMPLATES $APPDATA $PRINTHOOD $INTERNET_CACHE $COOKIES \
$HISTORY $PROFILE $ADMINTOOLS $RESOURCES $RESOURCES_LOCALIZED \
$CDBURN_AREA $HWNDPARENT $PLUGINSDIR $$ $\r $\n

keywords3.$(file.patterns.nsis)=ARCHIVE FILE_ATTRIBUTE_ARCHIVE FILE_ATTRIBUTE_HIDDEN \
FILE_ATTRIBUTE_NORMAL FILE_ATTRIBUTE_OFFLINE FILE_ATTRIBUTE_READONLY \
FILE_ATTRIBUTE_SYSTEM FILE_ATTRIBUTE_TEMPORARY HIDDEN HKCC HKCR HKCU \
HKDD HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_CURRENT_USER HKEY_DYN_DATA \
HKEY_LOCAL_MACHINE HKEY_PERFORMANCE_DATA HKEY_USERS HKLM HKPD HKU IDABORT \
IDCANCEL IDIGNORE IDNO IDOK IDRETRY IDYES MB_ABORTRETRYIGNORE MB_DEFBUTTON1 \
MB_DEFBUTTON2 MB_DEFBUTTON3 MB_DEFBUTTON4 MB_ICONEXCLAMATION \
MB_ICONINFORMATION MB_ICONQUESTION MB_ICONSTOP MB_OK MB_OKCANCEL \
MB_RETRYCANCEL MB_RIGHT MB_SETFOREGROUND MB_TOPMOST MB_YESNO \
MB_YESNOCANCEL NORMAL OFFLINE READONLY SW_SHOWMAXIMIZED SW_SHOWMINIMIZED \
SW_SHOWNORMAL SYSTEM TEMPORARY auto colored false force hide ifnewer nevershow \
normal off on show silent silentlog smooth true try lzma zlib bzip2 none listonly textonly \
both top left bottom right license components directory instfiles uninstConfirm custom \
all leave current ifdiff lastused LEFT RIGHT CENTER dlg_id ALT CONTROL EXT SHIFT \
open print manual alwaysoff


style.nsis.0=fore:#000000,$(font.base)
style.nsis.1=fore:#007F00,$(font.comment)
style.nsis.2=fore:#999999,back:#EEEEEE
style.nsis.3=fore:#999999,back:#EEEEEE
style.nsis.4=fore:#999999,back:#EEEEEE
style.nsis.5=fore:#00007F,bold
style.nsis.6=fore:#CC3300
style.nsis.7=fore:#FF9900
style.nsis.8=fore:#000000
style.nsis.9=fore:#00007F,bold
style.nsis.10=fore:#00007F,bold
style.nsis.11=fore:#00007F,bold
style.nsis.12=fore:#00007F,bold
style.nsis.13=fore:#CC3300,back:#EEEEEE
style.nsis.14=fore:#007F7F
style.nsis.15=fore:#00007F,bold
style.nsis.16=fore:#00007F,bold
style.nsis.17=fore:#00007F,bold
style.nsis.18=fore:#007F00,$(font.comment),bold


command.compile.$(file.patterns.nsis)=c:/program files/nsis/makensis.exe "$(FilePath)"
command.build.$(file.patterns.nsis)=c:/program files/nsis/makensis.exe "$(FilePath)"

command.go.$(file.patterns.nsis)=$(FileName).exe

command.help.$(file.patterns.nsis)=$(CurrentWord)!C:\Program files\NSIS\NSIS.chm
command.help.subsystem.$(file.patterns.nsis)=4

comment.block.nsis=;
comment.block.at.line.start.nsis=1
comment.stream.start.nsis=/*
comment.stream.end.nsis=*/
comment.box.start.nsis=/*
comment.box.middle.nsis=;
comment.box.end.nsis=*/

file.patterns.props=*.properties;*.ini;*.inf;*.reg;*.url;*.cfg;*.cnf;*.aut
file.patterns.text=*.txt;*.log;*.lst;*.doc;*.diz;*.nfo
file.patterns.batch=*.bat;*.cmd;*.nt
file.patterns.diff=*.diff;*.patch
file.patterns.make=makefile;Makefile;*.mak;configure*

filter.properties=Properties (ini inf reg url cfg cnf)|$(file.patterns.props)|
filter.text=Text (txt log lst doc diz nfo)|$(file.patterns.text);make*|
filter.batch=Batch (bat cmd nt)|$(file.patterns.batch)|
filter.diff=Difference (diff patch)|$(file.patterns.diff)|

lexer.$(file.patterns.props)=props
lexer.$(file.patterns.batch)=batch
lexer.*.err=errorlist
lexer.$(file.patterns.make)=makefile
lexer.*.iface=makefile
lexer.$(file.patterns.diff)=diff

word.characters.$(file.patterns.text)=$(chars.alpha)$(chars.numeric)$(chars.accented)-'

colour.other.operator=fore:#B06000


style.props.0=
style.props.1=fore:#007F7F,$(font.comment)
style.props.2=$(colour.string),back:#E0F0F0,eolfilled
style.props.3=$(colour.other.operator)
style.props.4=$(colour.preproc)
style.props.5=
style.props.34=fore:#0000FF,notbold
style.props.35=fore:#FF0000,notbold
comment.block.props=#~
preprocessor.symbol.$(file.patterns.make)=!
preprocessor.start.$(file.patterns.make)=IF IFDEF IFNDEF
preprocessor.middle.$(file.patterns.make)=ELSE ELSEIF ELSEIFDEF ELSEIFNDEF
preprocessor.end.$(file.patterns.make)=ENDIF


keywordclass.batch=rem set if exist errorlevel for in do \
break call chcp cd chdir choice cls country ctty date del erase dir echo \
exit goto loadfix loadhigh mkdir md move path pause prompt rename ren \
rmdir rd shift time type ver verify vol \
com con lpt nul \
color copy defined else not start
keywords.$(file.patterns.batch)=$(keywordclass.batch)


style.batch.0=fore:#000000
style.batch.1=fore:#007F00,$(font.comment)
style.batch.2=$(colour.keyword),bold
style.batch.3=$(colour.string),back:#606060,fore:#FFFF00,eolfilled
style.batch.4=$(colour.preproc)
style.batch.5=fore:#007090,$(font.monospace),bold
style.batch.6=fore:#800080
style.batch.7=fore:#000000

comment.block.batch=REM ~


style.makefile.0=fore:#000000
style.makefile.1=$(colour.other.comment),$(font.code.comment.box)
style.makefile.2=$(colour.preproc)
style.makefile.3=fore:#000080
style.makefile.4=$(colour.other.operator)
style.makefile.5=fore:#A00000
style.makefile.9=$(colour.error),eolfilled
style.makefile.34=fore:#0000FF,notbold
style.makefile.35=fore:#FF0000,notbold

comment.block.makefile=#~


style.errorlist.32=fore:#B06000,$(font.small)
style.errorlist.0=fore:#000000
style.errorlist.1=fore:#FF0000
style.errorlist.2=fore:#800080
style.errorlist.3=fore:#808000
style.errorlist.4=fore:#0000FF
style.errorlist.5=fore:#B06000
style.errorlist.6=fore:#FF0000
style.errorlist.7=fore:#FF0000
style.errorlist.8=fore:#FF0000
style.errorlist.9=fore:#FF00FF
style.errorlist.10=fore:#007F00
style.errorlist.11=fore:#00007F
style.errorlist.12=fore:#007F7F
style.errorlist.13=fore:#7F0000
style.errorlist.14=fore:#FF0000
style.errorlist.15=fore:#FF0000
style.errorlist.16=fore:#FF0000
style.errorlist.17=fore:#FF0000
style.errorlist.18=fore:#FF0000
style.errorlist.19=fore:#FF0000
style.errorlist.20=fore:#FF0000
style.errorlist.33=$(font.small)


style.diff.0=fore:#000000
style.diff.1=fore:#007F00
style.diff.2=fore:#7F7F00
style.diff.3=fore:#7F0000
style.diff.4=fore:#7F007F
style.diff.5=fore:#007F7F
style.diff.6=fore:#00007F

command.build.makefile=make
command.build.*.mak=make

if PLAT_WIN
	command.go.*.bat=$(FileNameExt)
	command.name.0.*.bat=Execute Selection
	command.0.*.bat=$(CurrentSelection)
	command.name.1.*.mak=nmake
	command.1.*.mak=nmake -f $(FileNameExt)

# Define SciTE settings for Lua files.

file.patterns.lua=*.lua

shbang.lua=lua

filter.lua=Lua (lua)|$(file.patterns.lua)|

lexer.$(file.patterns.lua)=lua

word.chars.lua=$(chars.alpha)$(chars.numeric)$(chars.accented)_%
word.characters.$(file.patterns.lua)=$(word.chars.lua)

keywordclass.lua=and break do else elseif end false for function if \
in local nil not or repeat return then true until while
keywords.$(file.patterns.lua)=$(keywordclass.lua)

# Basic Functions (in both versions of Lua)
keywordclass2.lua=_VERSION assert collectgarbage dofile error gcinfo loadfile loadstring \
print rawget rawset require tonumber tostring type unpack

#### Lua 4.0
# Basic Functions
keywordclass2.lua4=_ALERT _ERRORMESSAGE _INPUT _PROMPT _OUTPUT \
_STDERR _STDIN _STDOUT call dostring foreach foreachi getn globals newtype \
sort tinsert tremove

# String Manipulation & Mathematical Functions
keywordclass3.lua4=abs acos asin atan atan2 ceil cos deg exp \
floor format frexp gsub ldexp log log10 max min mod rad random randomseed \
sin sqrt strbyte strchar strfind strlen strlower strrep strsub strupper tan

# Input and Output Facilities & System Facilities
keywordclass4.lua4=openfile closefile readfrom writeto appendto \
remove rename flush seek tmpfile tmpname read write \
clock date difftime execute exit getenv setlocale time

#### Lua 5.0
# Basic Functions
keywordclass2.lua5=_G getfenv getmetatable ipairs loadlib next pairs pcall \
rawequal setfenv setmetatable xpcall \
string table math coroutine io os debug \
load module select
# I put the library names here, so when highlighted standalone, they are probably variable name from Lua 4.0 times.
# Last line -> Lua 5.1 functions

# String Manipulation, Table Manipulation, Mathematical Functions (string & table & math)
keywordclass3.lua5=string.byte string.char string.dump string.find string.len \
string.lower string.rep string.sub string.upper string.format string.gfind string.gsub \
table.concat table.foreach table.foreachi table.getn table.sort table.insert table.remove table.setn \
math.abs math.acos math.asin math.atan math.atan2 math.ceil math.cos math.deg math.exp \
math.floor math.frexp math.ldexp math.log math.log10 math.max math.min math.mod \
math.pi math.pow math.rad math.random math.randomseed math.sin math.sqrt math.tan \
string.gmatch string.match string.reverse table.maxn \
math.cosh math.fmod math.modf math.sinh math.tanh math.huge
# Last 2 lines -> Lua 5.1 functions

# Coroutine Manipulation, Input and Output Facilities, System Facilities (coroutine & io & os)
keywordclass4.lua5=coroutine.create coroutine.resume coroutine.status \
coroutine.wrap coroutine.yield \
io.close io.flush io.input io.lines io.open io.output io.read io.tmpfile io.type io.write \
io.stdin io.stdout io.stderr \
os.clock os.date os.difftime os.execute os.exit os.getenv os.remove os.rename \
os.setlocale os.time os.tmpname \
coroutine.running package.cpath package.loaded package.loadlib package.path \
package.preload package.seeall io.popen
# Last 2 lines -> Lua 5.1 functions
# debug.debug debug.getfenv debug.gethook debug.getinfo debug.getlocal
# debug.getmetatable debug.getregistry debug.getupvalue debug.setfenv
# debug.sethook debug.setlocal debug.setmetatable debug.setupvalue debug.traceback

# I keep keywords5, 6, 7 & 8 for other libraries
# To make the change from Lua 4 to Lua 5 as smooth as possible, I made these properties
# modular and flexible.
# If you use only Lua 4, you can remove the lua5 keywords.
# If you use only Lua 5, you can either remove the lua4 keywords, or put them
# in another property to highlight them in a warning/error style.
# If you still use both, you can keep them like below, or use separate styles.

keywords2.$(file.patterns.lua)=$(keywordclass2.lua) $(keywordclass2.lua4) $(keywordclass2.lua5)
keywords3.$(file.patterns.lua)=$(keywordclass3.lua4) $(keywordclass3.lua5)
keywords4.$(file.patterns.lua)=$(keywordclass4.lua4) $(keywordclass4.lua5)

#~ statement.indent.$(file.patterns.lua)=5 do else function then
#~ statement.end.$(file.patterns.lua)=5 end until
#~ statement.lookback.$(file.patterns.lua)=20
indent.maintain.$(file.patterns.lua)=1

comment.block.lua=--~
comment.block.at.line.start.lua=1

# Lua styles

#Default
style.lua.32=$(font.code.base),fore:#000000
# White space: Visible only in View Whitespace mode (or if it has a back colour)
style.lua.0=fore:#FF0000
# Block comment (Lua 5.0)
style.lua.1=$(colour.code.comment.box),$(font.code.comment.box),back:#D0F0F0,eolfilled
# Line comment
style.lua.2=$(colour.code.comment.line),$(font.code.comment.line)
# Doc comment -- Not used in Lua (yet?)
style.lua.3=$(colour.notused),$(font.notused)
# Number
style.lua.4=$(colour.number)
# Keyword
style.lua.5=$(colour.keyword)
# (Double quoted) String
style.lua.6=$(colour.string)
# Character (Single quoted string)
style.lua.7=$(colour.char)
# Literal string
style.lua.8=$(colour.string),$(font.code.comment.box),back:#E0FFFF
# Preprocessor (obsolete in Lua 4.0 and up)
style.lua.9=$(colour.preproc)
# Operators
style.lua.10=$(colour.operator)
# Identifier (everything else...)
style.lua.11=
# End of line where string is not closed
style.lua.12=back:#E0C0E0,eolfilled
# Other keywords (bozo test colors :-)
style.lua.13=$(style.lua.5),back:#D0FFD0
style.lua.14=$(style.lua.5),back:#D0D0FF
style.lua.15=$(style.lua.5),back:#FFD0D0
style.lua.16=$(style.lua.5),back:#FFD0FF
style.lua.17=$(style.lua.5),back:#FFFFD0
style.lua.18=$(style.lua.5),back:#FFA0A0
style.lua.19=$(style.lua.5),back:#FFD0D0
# Braces are only matched in operator style
braces.lua.style=10

command.compile.*.lua=LuaC-5.0.exe -o "$(FileName).luc" "$(FileNameExt)"
# Lua 5.0
command.go.*.lua=Lua-5.0.exe "$(FileNameExt)"
# Lua 4.0
#command.go.*.lua=Lua-4.0.exe -c -f "$(FileNameExt)"
