" Vim syntax file"
" Language: Baan
" Maintainer: Erik Remmelzwaal (erik.remmelzwaal 0x40 ssaglobal.com)
" Originally owned by: Erwin Smit / Her van de Vliert
" Last change: v1.17 2006/04/26 10:40:18
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
"
if version < 600
syntax clear
if exists("baan_fold")
unlet baan_fold
endif
elseif exists("b:current_syntax")
finish
endif
"********************************** Lexical setting ***************************"
syn case ignore
setlocal iskeyword+=.
"setlocal ignorecase "This is not a local yet ;-(
" Identifier
syn match baanIdentifier "\<\k\+\>"
"************************************* 3GL ************************************"
syn match baan3glpre "#ident\>"
syn match baan3glpre "#include\>"
syn region baan3glpre start="#define\>" end="^[^^|]"me=s-1 contains=baanString,baanConstant,baanNumber,baanComment,baansql
syn match baan3glpre "#undef\>"
syn match baan3glpre "#pragma\>"
syn match baan3glpre "#if\>"
syn match baan3glpre "#ifdef\>"
syn match baan3glpre "#ifndef\>"
syn match baan3glpre "#elif\>"
syn match baan3glpre "#else\>"
syn match baan3glpre "#endif\>"
" Some keywords are only defined when no foldinat based break bset call continue default
syn keyword baan3gl empty fixed ge global goto gt le lt mb
syn keyword baan3gl multibyte ne ofr prompt repeat static step stop
syn keyword baan3gl until void wherebind ref reference break continue
syn keyword baan3gl and or to not in
syn keyword baan3gl eq input end return at print
syn keyword baanType domain double long string table boolean common
syn keyword baanType bset void xmlNode
syn keyword baanStorageClass dim base based extern global fixed MB const
syn keyword baanConstant pi true false
" Folding settings
if exists("baan_fold") && baan_fold
syn region baanFunctionFold matchgroup=baan3gl start="^\z(\s*\)\" matchgroup=NONE end="^\z1}" transparent fold keepend
else
syn keyword baan3gl function
endif
if exists("baan_fold") && baan_fold && exists("baan_fold_block") && baan_fold_block
syn region baanCondFold matchgroup=baanConditional start="^\z(\s*\)\(if\>\|else\>\)" end="^\z1endif\>" end="^\z1else\>"me=s-1 transparent fold keepend extend
syn region baanCondFold matchgroup=baanConditional start="^\z(\s*\)for\>" end="^\z1endfor\>" transparent fold keepend extend
syn region baanCondFold matchgroup=baanConditional start="^\z(\s*\)while\>" end="^\z1endwhile\>" transparent fold keepend extend
syn region baanDLLUsage matchgroup=baan3gl start="^\z(\s*\)dllusage\>" end="^\z1enddllusage\>" fold contains=baanNumber,baanConstant,baanType
syn region baanFunUsage matchgroup=baan3gl start="^\z(\s*\)functionusage\>" end="^\z1endfunctionusage\>" fold contains=baanNumber,baanConstant,baanType
syn region baanCondFold matchgroup=baanConditional start="^\z(\s*\)\(case\>\|default\>\)\>" end="^\z1endcase\>" end="^\z1\(case\>\|default\>\)"me=s-1 transparent fold keepend extend
syn keyword baanConditional then else endif while endwhile endfor case endcase
syn match baanConditional "\"
else
syn match baanConditional "\" contains=baansql
syn match baanConditional "\"
syn keyword baanConditional if then else endif while endwhile endfor case endcase default
syn region baanDLLUsage matchgroup=baan3gl start="\" end="\" contains=baanNumber,baanConstant,baanType
syn region baanFunUsage matchgroup=baan3gl start="\" end="\" contains=baanNumber,baanConstant,baanType
endif
"************************************* SQL ************************************"
syn keyword baansql from selectbind
syn keyword baansql where wherebind whereused exsists
syn keyword baansql between inrange having
syn keyword baansql hint ordered asc desc
syn match baansql "\"
syn match baansql "\"
syn match baansql "\"
syn match baansql "\"
syn match baansql "\"
syn match baansql "\"
syn match baansql "\"
syn match baansql "\"
syn match baansql "\"
" references
syn keyword path reference
syn match baansql "\"
syn match baansql "\"
syn match baansql "\"
syn match baansql "\"
syn match baansql "\"
" hints
syn keyword baansql hint and ordered asc desc
syn match baansql "\