# Define SciTE settings for IO files.

filter.io=IO (io)|*.io|

lexer.*.io=cpp

file.patterns.io=*.io

keywordclass.io=print lobby hasSlot Object clone setSlot getSlot \
self if while for block proto forward sender thisBlock \
catchException raiseException then else Block Buffer CFunction \
Date Duration File List LinkedList Map Message nil true false Number \
String WeakLink yield \
type code argumentNames setArgumentNames message \
asString at length fromTo find byteAt sizeTo empty \
atPut append aBufferOrString prepend insertAt removeFromTo \
replace join split splitCount lower upper foreach \
id now clock year setYear month setMonth day setDay hour setHour \
minute setMinute second setSecond isDaylightSavingsTime zone \
secondsSince dateAfterSeconds secondsToRun format asString asNumber \
fromNumber fromString standardInput standardOutput setPath path name \
useTemporaryPath exists size openForReading openForUpdating \
openForAppending open mode close asBuffer readLine readLines \
readStringOfLength write atPut flush rewind setPosition position \
remove moveTo contains count indexOf add atPut insertAt push \
pop removeAt reverse random randomize and or do select reject detect \
keys values setName nextMessage setNextMessage attachedMessage \
setAttachedMessage arguments setArguments doInContext \
abs Abs exp Exp mod negate log Log log10 Log10 pow Pow sqrt Sqrt \
between asCharacter roundDown RoundDown roundUp RoundUp ceil \
Ceil floor Floor max min acos Acos asin aSin atan Atan atan2 Atan2 \
cos Cos sin Sin tan Tan Random setRandomSeed toggle Toggle bitwiseAnd \
bitwiseOf bitwiseXor bitwiseComplement shiftLeft shiftRight \
isAlphabetic isControlCharacter isDigit isGraph isLowerCase isUpperCase \
isPrint isPunctuaction isSpace isHexDigit removeSlot slotNames perform \
super break continue exit pause resume wait isActive activeCoroCount \
collectGarbage do doString numberId getEnvironmentVariable \
reverseFind beginsWith endsWith contains containsAny containsAnyCase \
length split splitCount splitAt substring escape unescape append \
insert removeFrom replace lower upper doFile join asBase fromBase \
appendPath removeLastPathComponent lastPathComponent pathExtension \
setLink link setDelegate delegate setIndentifier identifier

keywords.$(file.patterns.io)=$(keywordclass.io)

statement.indent.*.io=
statement.end*.io=
statement.lookback.*.io=1
block.start.*.io=10

comment.block.io=//~
#comment.block.at.line.start.cpp=1
comment.stream.start.io=/*
comment.stream.end.io=*/
comment.box.start.io=/*
comment.box.middle.io= *
comment.box.end.io= */

# io styles
# White space
style.io.0=fore:#808080
# Comment
style.io.1=fore:#007F00,$(font.comment)
# Number
style.io.2=fore:#007F7F
# String
style.io.3=fore:#7F007F,$(font.monospace)
# Single quoted string
style.io.4=fore:#7F007F,$(font.monospace)
# Keyword
style.io.5=fore:#00007F,bold
# Triple quotes
# style.io.6=fore:#7F0000
# Triple double quotes
style.io.7=fore:#7F0000
# Class name definition
style.io.8=fore:#0000FF,bold
# Function or method name definition
style.io.9=fore:#007F7F,bold
# Operators
style.io.10=bold
# Identifiers
style.io.11=fore:#7F7F7F
# Comment-blocks
style.io.12=fore:#7F7F7F
# End of line where string is not closed
style.io.13=fore:#000000,$(font.monospace),back:#E0C0E0,eolfilled
# Matched Operators
style.io.34=fore:#0000FF,bold
style.io.35=fore:#FF0000,bold
# Braces are only matched in operator style
braces.io.style=10

if PLAT_WIN
	command.go.*.io=io $(FileNameExt)
	command.go.subsystem.*.io=1

if PLAT_GTK
	command.go.*.io=io $(FileNameExt)
