# Define SciTE settings for C++, C files.

file.patterns.kotlin=*.kt

filter.kotlin=Kotlin|$(file.patterns.kotlin)|
*filter.kotlin=$(filter.kotlin)
lexer.$(file.patterns.kotlin)=cpp
*language.kotlin=Kotlin|cpp||


keywords.$(file.patterns.kotlin)=as is break class continue do else false for fun if in interface null object package return super this throw true try typealias typeof val var when while
# keywords2 is for highlighting user defined keywords or function calls or similar
keywords2.$(file.patterns.kotlin)=by catch constructor delegate dynamic field file finally get import \
init param property receiveris set setparam where actual abstract annotation companion const crossinline \
data enum expect external final infix inline inner internal lateinit noinline open operator out override \
private protected public reified sealed suspend tailrec vararg field it

# keywords5 is for preprocessor definitions and will cause inactive code
# to be greyed out. This setting is a space separated list of definitions
# where a definition may be of the form NAME=VALUE or simply NAME.
#keywords5.$(file.patterns.cpp)=_MSC_VER SCI_NAMESPACE GTK_MAJOR_VERSION=2

word.characters.$(file.patterns.kotlin)=$(chars.alpha)$(chars.numeric)_#
comment.block.cpp=//~
#comment.block.at.line.start.cpp=1
comment.stream.start.cpp=/*
comment.stream.end.cpp=*/
comment.box.start.cpp=/*
comment.box.middle.cpp= *
comment.box.end.cpp= */

# Folding
#fold.cpp.syntax.based=0
#fold.cpp.comment.multiline=0
#fold.cpp.comment.explicit=0
#defaults for fold.cpp.explicit.start=//{ and fold.cpp.explicit.end=//}
#  can be replaced by defining custom strings, e.g. //[ and //]
#fold.cpp.explicit.start=//[
#fold.cpp.explicit.end=//]
#if fold strings are set to something like /*{{{ and /*}}} (Origami/WinF style fold strings), enable
#  fold.cpp.explicit.anywhere, allowing explicit fold points being anywhere, not just in line comments
#fold.cpp.explicit.anywhere=1
#fold.at.else=1

statement.indent.$(file.patterns.kotlin)=5 for if else while when do
statement.lookback.$(file.patterns.kotlin)=20
block.start.$(file.patterns.kotlin)=10 {
block.end.$(file.patterns.kotlin)=10 }

#autocomplete.cpp.fillups=(

#styling.within.preprocessor=1

#lexer.cpp.track.preprocessor=1
#lexer.cpp.update.preprocessor=1
#lexer.cpp.hashquoted.strings=1

# C++ styles

# Default
style.cpp.32=$(font.base)
# White space
style.cpp.0=fore:#808080
# Comment: /* */.
style.cpp.1=$(colour.code.comment.box),$(font.code.comment.box)
# Line Comment: //.
style.cpp.2=$(colour.code.comment.line),$(font.code.comment.line)
# Doc comment: block comments beginning with /** or /*!
style.cpp.3=$(colour.code.comment.doc),$(font.code.comment.doc)
# Number
style.cpp.4=$(colour.number)
# Keyword
style.cpp.5=$(colour.keyword),bold
# Double quoted string
style.cpp.6=$(colour.string)
# Single quoted string
style.cpp.7=$(colour.char)
# UUIDs (only in IDL)
style.cpp.8=fore:#804080
# Preprocessor
style.cpp.9=$(colour.preproc)
# Operators
style.cpp.10=$(colour.operator),bold
# Identifiers
style.cpp.11=
# End of line where string is not closed
style.cpp.12=fore:#000000,$(font.monospace),back:#E0C0E0,eolfilled
# Verbatim strings for C#
style.cpp.13=fore:#007F00,$(font.monospace),back:#E0FFE0,eolfilled
# Regular expressions for JavaScript
style.cpp.14=fore:#3F7F3F,$(font.monospace),back:#E0F0FF,eolfilled
# Doc Comment Line: line comments beginning with /// or //!.
style.cpp.15=$(colour.code.comment.doc),$(font.code.comment.doc)
# Keywords2
style.cpp.16=fore:#0000AA,$(font.keyword)
# Comment keyword
style.cpp.17=fore:#3060A0,$(font.code.comment.doc)
# Comment keyword error
style.cpp.18=fore:#804020,$(font.code.comment.doc)
# Raw strings for C++0x
style.cpp.20=$(colour.string),back:#FFF3FF,eolfilled
# Triple-quoted strings for Vala
style.cpp.21=$(font.monospace),fore:#007F00,back:#E0FFE0,eolfilled
# Hash-quoted strings for Pike
style.cpp.22=$(font.monospace),fore:#007F00,back:#E7FFD7,eolfilled
# Preprocessor stream comment
style.cpp.23=fore:#659900
# Preprocessor stream doc comment
style.cpp.24=$(colour.code.comment.doc)
# User defined literals
style.cpp.25=fore:#C06000
# Task Marker
style.cpp.26=fore:#BE07FF,$(font.code.comment.line)

# Braces are only matched in operator style
braces.cpp.style=10

command.compile.name.$(file.patterns.kotlin)=Start interpreter
command.compile.$(file.patterns.kotlin)=kotlin_Restart
command.compile.subsystem.$(file.patterns.kotlin)=3

command.clean.name.$(file.patterns.kotlin)=Stop interpreter
command.clean.$(file.patterns.kotlin)=interp_Stop
command.clean.subsystem.$(file.patterns.kotlin)=3

command.go.name.$(file.patterns.kotlin)=Load file
command.go.$(file.patterns.kotlin)=kotlin_Load
command.go.save.before.$(file.patterns.kotlin)=1
command.go.subsystem.$(file.patterns.kotlin)=3

command.build.name.$(file.patterns.kotlin)=Run selected
command.build.$(file.patterns.kotlin)=kotlin_Run
command.build.subsystem.$(file.patterns.kotlin)=3
