# Define SciTE settings for Baan files.
#set Below as per Preference.
font.baan.monospace=font:Consolas,size:10

fold.baan.keywords.based=1
fold.baan.syntax.based=0
fold.baan.sections=1
fold.baan.inner.level=0
lexer.baan.styling.within.preprocessor=1

#uncomment below, set the full path of API files. If more than one, seperate it with ';'.
#api.$(file.patterns.baan)=

#Uncomment below two properties, set the full path of CHM files.
#command.help.$(file.patterns.baan)=$(CurrentWord)!D:\
#command.help.subsystem.$(file.patterns.baan)=4

#Not much to change.  Check Baan Styles for preference.
file.patterns.baan=*.bc;*.cln

filter.baan=Baan (baan)|$(file.patterns.baan)|

*filter.baan=$(filter.baan)

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

*language.baan=Baan|bc||

word.characters.$(file.patterns.baan)=$(chars.alpha)$(chars.numeric)_#.$
calltip.baan.word.characters=$(chars.alpha)$(chars.numeric)_#.$
autocomplete.baan.ignorecase=1
calltip.baan.ignorecase=1
autocomplete.baan.start.characters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_."

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

# Comment blocks for Baan
comment.block.baan=|
comment.block.at.line.start.baan=1
	
block.start.$(file.patterns.baan)=4 case  else for  if repeat selectdo selectempty selecteos selecterror
block.end.$(file.patterns.baan)=4 else endcase  endfor  endif endselect endwhile selectempty selecteos selecterror
statement.lookback.$(file.patterns.baan)=0

# Baan styles. Change colours based on preference.
# Gray
colour.baan.whitespace=fore:#808080
#Olive
colour.baan.preproc=fore:#808000
#Magenta
colour.baan.string=fore:#FF00FF
#Teal
colour.baan.comment.doc=fore:#008080
#green
colour.baan.comment.line=fore:#008000
#Red
colour.baan.numbers=fore:#FF0000
#Maroon
colour.baan.keyword=fore:#800000
#Blue
colour.baan.keyword2=fore:#0000FF
colour.baan.keyword3=fore:#0000FF
#Orange Red
colour.baan.keyword4=fore:#FF4500 
#Purple
colour.baan.keyword5=fore:#800080
colour.baan.keyword6=fore:#FF00FF,back:#4EE2EC
colour.baan.keyword7=fore:#FF0000,back:#90EE90
colour.baan.keyword8=fore:#CC00CC,back:#FFFF99
colour.baan.keyword9=fore:#00FFFF
#DarkOrchid
colour.baan.tabledef=fore:#9932CC 
#BlueViolet
colour.baan.tablesql=fore:#8A2BE2
#Navy
colour.baan.functions=fore:#000080
#DarkGoldenrod
colour.baan.domaindef=fore:#B8860B
# FireBrick
colour.baan.funcdefs=fore:#B22222
# OrangeRed
colour.baan.objdefs=fore:#FF4500
#Dark Olive Green
colour.baan.definedefs=fore:#556B2F

colour.baan.braces.highlight=fore:#0000FF
colour.baan.braces.incomplete=fore:#FF0000
colour.baan.eol.string.not.closed=fore:#000000,back:#E0C0E0
colour.baan.operator=fore:#007F00	

# Default
style.baan.32=$(font.baan.monospace)
# White space
style.baan.0=$(colour.baan.whitespace),$(font.baan.monospace)
# Comment
style.baan.1=$(colour.baan.comment.line),$(font.baan.monospace),bold,italics
# Doc comment
style.baan.2=$(colour.baan.comment.doc),$(font.baan.monospace),bold,italics
# Number
style.baan.3=$(colour.baan.numbers),$(font.baan.monospace),bold
# Keyword ~ Reserved Words
style.baan.4=$(colour.baan.keyword),$(font.baan.monospace),bold
# Double quoted string
style.baan.5=$(colour.baan.string),$(font.baan.monospace),bold
# Preprocessor
style.baan.6=$(colour.baan.preproc),$(font.baan.monospace),bold
# Operators
style.baan.7=$(colour.baan.operator),$(font.baan.monospace),bold
# Identifiers
style.baan.8=$(font.baan.monospace)
# End of line where string is not closed
style.baan.9=$(colour.baan.eol.string.not.closed),$(font.baan.monospace),eolfilled
# Keywords2 ~ Functions
style.baan.10=$(colour.baan.keyword2),$(font.baan.monospace),bold
# Keywords3 ~ Functions Abridged
style.baan.11=$(colour.baan.keyword3),$(font.baan.monospace),bold
# Keywords4 ~ Sections
style.baan.12=$(colour.baan.keyword4),$(font.baan.monospace),bold
# Keywords5 ~ Predefined Variables
style.baan.13=$(colour.baan.keyword5),$(font.baan.monospace),bold
# Keywords6 ~ Attributes Predefined
style.baan.14=$(colour.baan.keyword6),$(font.baan.monospace),bold
# Keywords7
style.baan.15=$(colour.baan.keyword7),$(font.baan.monospace),bold
# Keywords8
style.baan.16=$(colour.baan.keyword8),$(font.baan.monospace),bold
# Keywords9
style.baan.17=$(colour.baan.keyword9),$(font.baan.monospace),bold
# TableDef
style.baan.18=$(colour.baan.tabledef),$(font.baan.monospace),bold
# TableSQL
style.baan.19=$(colour.baan.tablesql),$(font.baan.monospace),bold
# Functions
style.baan.20=$(colour.baan.functions),$(font.baan.monospace),bold
# DomainDef
style.baan.21=$(colour.baan.domaindef),$(font.baan.monospace),bold
# FunctionDef
style.baan.22=$(colour.baan.funcdefs),$(font.baan.monospace),bold
# ObjectDef used in #include and #pragma used dll
style.baan.23=$(colour.baan.objdefs),$(font.baan.monospace),bold
# DefineDef used in #define 
style.baan.24=$(colour.baan.definedefs),$(font.baan.monospace),bold

# Braces are only matched in operator style
braces.baan.style=7
# Brace highlight
style.baan.34=$(colour.baan.braces.highlight),bold
# Brace incomplete highlight
style.baan.35=$(colour.baan.braces.incomplete),bold

#Indent properties
statement.indent.$(file.patterns.baan)=12 after.choice: after.delete: after.display: after.field: after.form.read: after.form: \
after.group: after.input: after.layout: after.program: after.receive.data: after.rewrite: after.skip.delete: after.skip.rewrite: \
after.skip.write: after.update.db.commit: after.write: after.zoom: before.checks: before.choice: before.delete: before.display.object: \
before.display: before.field: before.form: before.group: before.input: before.layout: before.new.object: before.print: before.program: \
before.read: before.rewrite: before.write: before.zoom: check.input: declaration: domain.error: init.field: init.form: init.group: on.choice: \
on.display.total.line: on.entry: on.error: on.exit: on.input: read.view: ref.display: ref.input: selection.filter: when.field.changes:

#keywords Reserved Keywords (Do not Change)
keywords.$(file.patterns.baan)=alike all and array as asc at avg base based between boolean both break bset buffer by call case cast chart clear \
clearunref common const continue count cross current_date current_timestamp date date.num date.to.num debug default delete deleteempty \
deleteerror desc dim distinct dll dllusage domain double else empty end endcase enddelete enddllusage endfor endfunctionusage endif endselect \
endupdate endwhile enum_description eq escape exists extern false fatal fetching field first fixed for from full function functionusage ge global goto \
group gt having hint hints if in include index inner input inrange integer is join label last le leading left like long lt max mb menu message min multibyte \
ne no nodebug not notransactions nowarnings null on or order ordered outer path pi prepared print prompt question raw real ref reference refers repeat \
retry return right row rows select selectbind selectdo selectempty selecteos selecterror session set setunref size skip static step sticky stop strict_boolean \
string subhint sum table text_content then timestamp to trailing trim true union unref until update updateempty updateerror use used void warning warnings \
when where wherebind whereused while with

#Keywords2 Functions (Set your Functions based on Baan version & TIV level.)
keywords2.$(file.patterns.baan)=abort abort.io  \
db.after.delete db.after.insert db.after.update \
xmlSetData \
zoom.to$

#Keywords3 Functions InListAbridged (Set Functions, based on Baan Version & TIV Level.) ~.is.mandatory will work for <any.field>.is.mandatory() DAL function.
keywords3.$(file.patterns.baan)=~.is.mandatory 

#Keywords4 Sub Sections (Sub Sections should always come before main sections, because after.~: in main section would overtake after.choice: and so on). (Do Not Change)
keywords4.$(file.patterns.baan)=after.choice: after.delete: after.display: after.field: after.form: after.group: after.input: after.layout: after.read: after.rewrite: \
after.skip.delete: after.skip.rewrite: after.skip.write: after.write: after.zoom: before.checks:  before.choice: before.delete: before.display: before.field: before.form: \
before.group: before.input: before.layout: before.print: before.read: before.rewrite: before.write: before.zoom: check.input: domain.error: init.field: init.form: \
init.group: on.choice: on.entry: on.exit: on.input: read.view: ref.display: ref.input: selection.filter: when.field.changes:

#Keyword5 Main Sections InListAbridged (Do Not Change)
keywords5.$(file.patterns.baan)=after.~: before.~: choice.abort.program: choice.abort.work: choice.add.set: choice.ask.helpinfo: choice.attachments: \
choice.bms: choice.calculator: choice.calender: choice.cancel.work: choice.change.frm: choice.change.order: choice.cmd.about.baan: choice.cmd.copy: \
choice.cmd.cut: choice.cmd.options: choice.cmd.paste: choice.cont.process: choice.create.job: choice.current.work: choice.cust.grid: choice.def.find: \
choice.display.set: choice.dupl.occur: choice.end.program: choice.field.browse: choice.field.help: choice.find.data: choice.first.frm: choice.first.set: \
choice.first.view: choice.freeze.columns: choice.get.defaults: choice.global.copy: choice.global.delete: choice.glossary: choice.help.index: choice.hide.fields: \
choice.interrupt: choice.last.frm: choice.last.set: choice.last.view: choice.mark.delete: choice.mark.occur: choice.modify.set: choice.next.frm: choice.next.set: \
choice.next.view: choice.next.work: choice.prev.frm: choice.prev.set: choice.prev.view: choice.print.data: choice.processes: choice.recover.set: choice.reference: \
choice.resize.frm: choice.rotate.curr: choice.run.job: choice.save.defaults: choice.select.all: choice.send.data: choice.sendto.desktop: choice.sendto.editor: \
choice.sendto.mail: choice.sendto.tasklst: choice.start.chart: choice.start.query: choice.start.set: choice.suspend.work: choice.switch.windows: choice.synchronize: \
choice.text.manager: choice.to.clipboard: choice.unfreeze.colum: choice.update.db: choice.user.0: choice.user.1: choice.user.2: choice.user.3: choice.user.4: choice.user.5: \
choice.user.6: choice.user.7: choice.user.8: choice.user.9: choice.using.help: choice.zoom:  declaration: detail.~: field.~: footer.~: form.~: functions: group.~: \
header.~:  main.table.io: on.display.total.line: on.error: zoom.from.~:

#Keyword6 PreDefined Variables (Set these predefined variables based on your Baan Version).
keywords6.$(file.patterns.baan)=actual.occ \
zoomreturn$

#keywords7 Attributes PreDefined ( Below list needs to be typed in UPPER case in scripts, but keep it in lower here). (Set these predefined Attributes based on your Baan Version).
keywords7.$(file.patterns.baan)=__file__ \
z.session

#keywords8 Enumerate domains. Enter domain domain names starting with '^' and ending with '.'. All the enumerates would be listed. (Based on your Baan Version).
keywords8.$(file.patterns.baan)=^tcyesno. ^tdsls.corg.

#Keywords9 MACROS from standard based on your Baan Version. Write in CAPS inside the scripts, but in lower here.
keywords9.$(file.patterns.baan)=dalnew dalupdate

