"
syn match logtalkKeyword "\
"
syn match logtalkKeyword "\"
syn match logtalkKeyword "\
"
syn match logtalkKeyword "\"
syn match logtalkKeyword "\>"
syn match logtalkOperator "<<"
syn match logtalkOperator "/\\"
syn match logtalkOperator "\\/"
syn match logtalkOperator "\\"
syn match logtalkKeyword "\"
syn match logtalkNumber "\<\d\+\.\d\+\>"
syn match logtalkNumber "\<\d\+[eE][-+]\=\d\+\>"
syn match logtalkNumber "\<\d\+\.\d\+[eE][-+]\=\d\+\>"
syn match logtalkNumber "\<0'[\\]\?.\|0''\|0'\"\>"
syn match logtalkNumber "\<0b[0-1]\+\>"
syn match logtalkNumber "\<0o\o\+\>"
syn match logtalkNumber "\<0x\x\+\>"
" Logtalk end-of-clause
syn match logtalkOperator "\."
" Logtalk comments
syn region logtalkBlockComment start="/\*" end="\*/" fold
syn match logtalkLineComment "%.*"
syn cluster logtalkComment contains=logtalkBlockComment,logtalkLineComment
" Logtalk conditional compilation folding
syn region logtalkIfContainer transparent keepend extend start=":- if(" end=":- endif\." containedin=ALLBUT,@logtalkComment contains=NONE
syn region logtalkIf transparent fold keepend start=":- if(" end=":- \(else\.\|elif(\)"ms=s-1,me=s-1 contained containedin=logtalkIfContainer nextgroup=logtalkElseIf,logtalkElse contains=TOP
syn region logtalkElseIf transparent fold keepend start=":- elif(" end=":- \(else\.\|elif(\)"ms=s-1,me=s-1 contained containedin=logtalkIfContainer nextgroup=logtalkElseIf,logtalkElse contains=TOP
syn region logtalkElse transparent fold keepend start=":- else\." end=":- endif\." contained containedin=logtalkIfContainer contains=TOP
" Logtalk entity folding
syn region logtalkEntity transparent fold keepend start=":- object(" end=":- end_object\." contains=ALL
syn region logtalkEntity transparent fold keepend start=":- protocol(" end=":- end_protocol\." contains=ALL
syn region logtalkEntity transparent fold keepend start=":- category(" end=":- end_category\." contains=ALL
syn sync ccomment logtalkBlockComment maxlines=50
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
hi def link logtalkBlockComment Comment
hi def link logtalkLineComment Comment
hi def link logtalkOpenEntityDir Normal
hi def link logtalkOpenEntityDirTag PreProc
hi def link logtalkIfContainer PreProc
hi def link logtalkIf PreProc
hi def link logtalkElseIf PreProc
hi def link logtalkElse PreProc
hi def link logtalkEntity Normal
hi def link logtalkEntityRel Normal
hi def link logtalkEntityRelTag PreProc
hi def link logtalkCloseEntityDir PreProc
hi def link logtalkDir Normal
hi def link logtalkDirTag PreProc
hi def link logtalkAtom String
hi def link logtalkString String
hi def link logtalkEscapeSequence SpecialChar
hi def link logtalkNumber Number
hi def link logtalkKeyword Keyword
hi def link logtalkBuiltIn Keyword
hi def link logtalkBuiltInMethod Keyword
hi def link logtalkOperator Operator
hi def link logtalkExtCall Normal
hi def link logtalkExtCallTag Operator
hi def link logtalkVariable Identifier
let b:current_syntax = "logtalk"
let &cpo = s:cpo_save
unlet s:cpo_save