<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE language><language name="Logtalk" version="9" kateversion="5.62" section="Sources" extensions="*.lgt;.logtalk" mimetype="text/x-logtalk" author="Paulo Moura (pmoura@logtalk.org)" license="Apache License 2.0"><highlighting><contexts><context name="normal" attribute="Normal"><RegExpr String="^\s*:-" attribute="Normal" context="directive" column="0"/><RegExpr String="\b(after|before|forward|context|parameter|this|se(lf|nder)|current_predicate|predicate_property|expand_(goal|term)|(goal|term)_expansion|phrase|(abolish|c(reate|urrent))_(object|protocol|category)|(object|protocol|category)_property|co(mplements_object|nforms_to_protocol)|extends_(object|protocol|category)|imp(lements_protocol|orts_category)|(instantiat|specializ)es_class|current_event|(abolish|define)_events|(create|current|set)_logtalk_flag|logtalk_(compile|l(ibrary_path|oad|oad_context)|make(_target_action)?)|clause|retract(all)?|a(bolish|ssert(a|z))|ca(ll|tch)|throw|(type|domain|existence|permission|representation|evaluation|resource|syntax)_error|(bag|set)of|f(ind|or)all|threaded(_(ca(ll|ncel)|once|ignore|exit|peek|wait|notify))?|threaded_engine(_(create|destroy|self|next|next_reified|yield|post|fetch))?|subsumes_term|unify_with_occurs_check|functor|arg|copy_term|numbervars|term_variables|div|rem|m(ax|in|od)|abs|sign|float(_(integer|fractional)_part)?|floor|truncate|round|ceiling|cos|a(cos|sin|tan|tan2)|exp|log|s(in|qrt)|tan|xor|var|atom(ic)?|integer|float|c(allable|ompound)|n(onvar|umber)|ground|acyclic_term|compare|(curren|se)t_(in|out)put|open|close|flush_output|stream_property|at_end_of_stream|set_stream_position|nl|(get|peek|put)_(byte|c(har|ode))|read(_term)?|write(q|_(canonical|term))?|(current_)?op|(current_)?char_conversion|atom_(length|c(hars|o(ncat|des)))|char_code|sub_atom|number_c(har|ode)s|(se|curren)t_prolog_flag|halt|(key)?sort|ignore|once)(?=[(])|\b(logtalk_make|fa(il|lse)|true|(instantiation|system)_error|at_end_of_stream|flush_output|nl|halt|repeat)\b" attribute="Built-in"/><RegExpr String="\b[A-Z_]\w*" attribute="Variable"/><DetectChar char="%" attribute="Comment" context="single line comment"/><StringDetect String="/*" attribute="Comment" context="multiline comment" beginRegion="Comment"/><DetectChar char='"' attribute="String" context="string"/><DetectChar char="'" attribute="String" context="atom"/><RegExpr String="0'\\?.|0b[0-1]+|0o[0-7]+|0x[0-9a-fA-F]+|\d+(\.\d+)?([eE]([-+])?\d+)?" attribute="Number"/><StringDetect String="::" attribute="Operator"/><StringDetect String="^^" attribute="Operator"/><DetectChar char="{" attribute="Operator" beginRegion="external"/><DetectChar char="}" attribute="Operator" endRegion="external"/><StringDetect String=">>" attribute="Operator"/><StringDetect String="&lt;&lt;" attribute="Operator"/><StringDetect String="/\" attribute="Operator"/><StringDetect String="\/" attribute="Operator"/><StringDetect String="\\" attribute="Operator"/><RegExpr String="\b[ai]s\b" attribute="Operator"/><StringDetect String="=:=" attribute="Operator"/><StringDetect String="=\=" attribute="Operator"/><DetectChar char="&lt;" attribute="Operator"/><StringDetect String="=&lt;" attribute="Operator"/><StringDetect String=">=" attribute="Operator"/><DetectChar char=">" attribute="Operator"/><StringDetect String="=.." attribute="Operator"/><StringDetect String="==" attribute="Operator"/><StringDetect String="\==" attribute="Operator"/><StringDetect String="@=&lt;" attribute="Operator"/><StringDetect String="@&lt;" attribute="Operator"/><StringDetect String="@>=" attribute="Operator"/><StringDetect String="@>" attribute="Operator"/><DetectChar char="=" attribute="Operator"/><StringDetect String="\=" attribute="Operator"/><StringDetect String="-->" attribute="Operator"/><AnyChar String="!;" attribute="Operator"/><StringDetect String="->" attribute="Operator"/><StringDetect String="**" attribute="Operator"/><StringDetect String="//" attribute="Operator"/><AnyChar String="+-*/" attribute="Operator"/><RegExpr String="\b(e|pi|div|mod|rem)\b" attribute="Operator"/><StringDetect String="\+" attribute="Operator"/><AnyChar String="?@:^" attribute="Operator"/><RegExpr String="\b[a-z]\w*" attribute="Normal"/></context><context name="atom" attribute="String"><RegExpr String="\\x[a-fA-F0-9]+\\|\\[0-7]+\\" attribute="String Char"/><HlCStringChar attribute="String Char"/><DetectChar char="'" attribute="String" context="#pop"/></context><context name="multiline comment" attribute="Comment"><StringDetect String="*/" attribute="Comment" context="#pop" endRegion="Comment"/><DetectSpaces/><IncludeRules context="##Comments"/></context><context name="single line comment" attribute="Comment" lineEndContext="#pop"><DetectSpaces/><IncludeRules context="##Comments"/></context><context name="string" attribute="String"><DetectChar char='"' attribute="String" context="#pop"/></context><context name="directive" attribute="Directive"><RegExpr String="\bif(?=[(])" attribute="Directive" context="#pop" beginRegion="CC"/><RegExpr String="\bendif(?=[.])" attribute="Directive" context="#pop" endRegion="CC"/><RegExpr String="\belif(?=[(])|\belse(?=[.])" attribute="Directive" context="#pop"/><RegExpr String="\b(category|object|protocol)(?=[(])" attribute="Directive" context="entityrelations" beginRegion="Entity"/><RegExpr String="\bend_(category|object|protocol)(?=[.])" attribute="Directive" context="#pop" endRegion="Entity"/><RegExpr String="\bmodule(?=[(])|\bp(ublic|r(otected|ivate))(?=[(])|\be(n(coding|sure_loaded)|xport)(?=[(])|\bin(clude|itialization|fo)(?=[(])|\b(built_in|dynamic|synchronized|threaded)(?=[.])|\b(alias|d(ynamic|iscontiguous)|m(eta_(non_terminal|predicate)|ode|ultifile)|s(et_(logtalk|prolog)_flag|ynchronized))(?=[(])|\bop(?=[(])|\b(c(alls|oinductive)|reexport|use(s|_module))(?=[(])" attribute="Directive" context="#pop"/></context><context name="entityrelations" attribute="Normal"><RegExpr String="\b(complements|extends|i(nstantiates|mp(lements|orts))|specializes)(?=[(])" attribute="Directive"/><RegExpr String="\b[A-Z_]\w*" attribute="Variable"/><DetectChar char="%" attribute="Comment" context="single line comment"/><StringDetect String="/*" attribute="Comment" context="multiline comment" beginRegion="Comment"/><DetectChar char='"' attribute="String" context="string"/><DetectChar char="'" attribute="String" context="atom"/><RegExpr String="0'\\?.|0b[0-1]+|0o[0-7]+|0x[0-9a-fA-F]+|\d+(\.\d+)?([eE]([-+])?\d+)?" attribute="Number"/><StringDetect String="::" attribute="Operator"/><StringDetect String=")." attribute="Normal" context="#pop#pop"/></context></contexts><itemDatas><itemData name="Normal" defStyleNum="dsNormal"/><itemData name="Directive" defStyleNum="dsKeyword"/><itemData name="Built-in" defStyleNum="dsFunction"/><itemData name="Operator" defStyleNum="dsDataType"/><itemData name="Comment" defStyleNum="dsComment"/><itemData name="Number" defStyleNum="dsDecVal"/><itemData name="String" defStyleNum="dsString"/><itemData name="String Char" defStyleNum="dsSpecialChar" spellChecking="0"/><itemData name="Variable" defStyleNum="dsOthers"/></itemDatas></highlighting><general><comments><comment name="singleLine" start="%" position="afterwhitespace"/><comment name="multiLine" start="/*" end="*/" region="Comment"/></comments><keywords casesensitive="1"/></general></language>