# Define SciTE settings for Pascal files.
# Changed by Fernando Lozano <fsl@centroin.com.br> for Free Pascal
# Changed by Mathias Rauen <scite@madshi.net> for Delphi

filter.pascal=Pascal (dpr dpk pas dfm inc)|*.dpr;*.dpk;*.pas;*.dfm;*.inc;*.pp|

file.patterns.pascal=*.dpr;*.dpk;*.pas;*.dfm;*.inc;*.pp
lexer.$(file.patterns.pascal)=pascal

keywordclass.pascal=and array asm begin case cdecl class const constructor contains \
default destructor div do downto else end end. except exit exports external \
far file finalization finally for function goto if implementation in index inherited \
initialization inline interface label library message mod near nil not \
object of on or out overload override package packed pascal private procedure program \
property protected public published raise read record register repeat requires resourcestring \
safecall set shl shr stdcall stored string then threadvar to try type unit \
until uses var virtual while with write xor

keywordclass.pascalclasses=write read default public protected private property published stored

keywords.$(file.patterns.pascal)=$(keywordclass.pascal)
keywords2.$(file.patterns.pascal)=$(keywordclass.pascalclasses)

# Pascal styles
# White space
style.pascal.0=fore:#000000,$(font.pascal)
# Comment
style.pascal.1=fore:#007F00,$(font.comment)
# Line Comment
style.pascal.2=fore:#007F00,$(font.comment)
# Doc comment
style.pascal.3=fore:#7F7F7F
# Number
style.pascal.4=fore:#007F7F

# Keyword
style.pascal.5=fore:#00007F,bold
# Double quoted string
style.pascal.6=fore:#7F007F,italics,$(font.comment)
# Single quoted string
style.pascal.7=fore:#7F007F,italics,$(font.text)
# Symbols
style.pascal.8=fore:#007F7F
# Preprocessor
style.pascal.9=fore:#7F7F00
# Operators
style.pascal.10=fore:#000000
# Inline Asm
style.pascal.14=fore:#008080
# Default/Identifiers
style.pascal.32=fore:#800000
# Brace highlight
style.pascal.34=fore:#0000FF,notbold
# Brace incomplete highlight
style.pascal.35=fore:#FF0000,notbold
# Braces are only matched in operator style
braces.pascal.style=10

comment.block.pascal=//~
comment.stream.start.pascal=(*
comment.stream.end.pascal=*)
comment.box.start.pascal={
comment.box.middle.pascal=
comment.box.end.pascal=}

statement.indent.$(file.patterns.pascal)=5 case catch class default do else for then \
private protected public struct try union while type
statement.lookback.$(file.patterns.pascal)=20
block.start.$(file.patterns.pascal)=10 begin
block.end.$(file.patterns.pascal)=10 end

#using virtual pascal
#pc=C:\Vp21\Bin.w32\Vpc.exe -VC:\Vp21\Bin.w32\Vp.vpo "$(FilePath)"

#using free pascal

# compile
command.compile.*.pas=fpc "$(FilePath)"

# normal execute
if PLAT_WIN
	command.go.*.pas="$(FileName).exe"
	command.go.subsystem.*.pas=2
if PLAT_GTK
	command.go.*.pas="kvt -e $(FileName)"

# build
command.build.*.pas=fpc -B "$(FilePath)"
command.build.subsystem.*.pas=1

command.name.0.*.pas=Debug Compile
command.0.*.pas=fpc -g "$(FilePath)"
command.name.1.*.pas=Debug Build
command.1.*.pas=fpc -g -B "$(FilePath)"
command.name.2.*.pas=GDB
if PLAT_WIN
	command.2.*.pas=gdbpasw "$(FileName)"
if PLAT_GTK
	command.2.*.pas=gdb "$(FileName)"
	command.name.3.*.pas=DDD
	command.3.*.pas=ddd "$(FileName)"

