"
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