View file File name : logtalk.lang Content : Description="Logtalk" Keywords={ { Id=1, --conditional compilation directives Regex=[[^\s*:-\s((el)?if)(?=[(])]], Group=1, }, { Id=1, --conditional compilation directives Regex=[[^\s*:-\s(e(lse|ndif))(?=\.)]], Group=1, }, { Id=2, --variables Regex=[[(?<!0')[A-Z_]\w*]], }, { Id=3, -- event handlers Regex=[[(after|before)(?=[(])]], Group=1, }, { Id=4, --Logtalk message sending operators Regex=[[(::|\^\^|<<|:)]], }, { Id=1, --encapsulation directives Regex=[[ ^\s*:-\s(category|protocol|object)(?=[(]) ]], Group=1, }, { Id=1, Regex=[[ ^\s+((extend|i(mp(or|lemen)t|nstantiate)|specialize)s)(?=[(]) ]], Group=1, }, { Id=1, Regex=[[ ^\s*:-\s(end_(protocol|category|object))(?=\.) ]], Group=1, }, { Id=1, -- entity and predicate directives Regex=[[ ^\s*:-\s(calls|public|protected|private|encoding|ensure_loaded|export|info|initialization|alias|dynamic|discontiguous|meta_predicate|mode|module|multifile|reexport|set_logtalk_flag|set_prolog_flag|synchronized|op|uses|use_module)(?=[(]) ]], Group=1, }, { Id=1, Regex=[[ ^\s*:-\s(dynamic|synchronized|threaded)(?=\.) ]], Group=1, }, { Id=3, --event handlers Regex=[[ (after|before)(?=[(]) ]], Group=1 }, { Id=3, Regex=[[ (parameter|this|se(lf|nder))(?=[(]) ]], Group=1 }, { Id=3, --refelection Regex=[[ (current_predicate|predicate_property)(?=[(]) ]], Group=1 }, { Id=3, --dcgs Regex=[[ (expand_(goal|term))(?=[(]) ]], Group=1 }, { Id=3, Regex=[[ ((?:goal|term)_expansion|phrase)(?=[(]) ]], Group=1 }, { Id=3, --entity Regex=[[ ((abolish|c(reate|urrent))_(object|protocol|category))(?=[(]) ]], Group=1 }, { Id=3, Regex=[[ ((object|protocol|category)_property)(?=[(]) ]], Group=1 }, { Id=3, --entity relations Regex=[[ (complements_object)(?=[(]) ]], Group=1 }, { Id=3, Regex=[[ (extends_(object|protocol|category))(?=[(]) ]], Group=1 }, { Id=3, Regex=[[ (imp(lements_protocol|orts_category))(?=[(]) ]], Group=1 }, { Id=3, Regex=[[ ((instantiat|specializ)es_class)(?=[(]) ]], Group=1 }, { Id=3, --events Regex=[[ (current_event|(abolish|define)_events)(?=[(]) ]], Group=1 }, { Id=3, --flags Regex=[[ ((current|set)_logtalk_flag)(?=[\(]) ]], Group=1 }, { Id=3, --compiling, loading, and library paths Regex=[[ (logtalk_(compile|l(ibrary_path|oad)))(?=[(]) ]], Group=1 }, { Id=3, --database Regex=[[ (clause|retract(all)?)(?=[(]) ]], Group=1 }, { Id=3, Regex=[[ (a(bolish|ssert(a|z)))(?=[(]) ]], Group=1 }, { Id=3, --control Regex=[[ (call|catch|throw)(?=[(]) ]], Group=1 }, { Id=3, Regex=[[ (fail|true) ]], Group=1 }, { Id=3, --all solutions Regex=[[ (bagof|setof|findall|forall)(?=[(]) ]], Group=1 }, { Id=3, --multi-threading meta-predicates Regex=[[ (threaded(_(call|once|ignore|exit|peek|wait|notify))?)(?=[(]) ]], Group=1 }, { Id=3, --term unification Regex=[[ (unify_with_occurs_check)(?=[(]) ]], Group=1 }, { Id=3, -- term creation and decomposition Regex=[[ (functor|arg|copy_term)(?=[(]) ]], Group=1 }, { Id=3, --evaluable functors Regex=[[ (rem|mod|abs|sign)(?=[(]) ]], Group=1 }, { Id=3, Regex=[[ (float(_(integer|fractional)_part)?)(?=[(]) ]], Group=1 }, { Id=3, Regex=[[ (floor|truncate|round|ceiling)(?=[(]) ]], Group=1 }, { Id=3, Regex=[[ (cos|atan|exp|log|s(in|qrt))(?=[(]) ]], Group=1 }, { Id=3, --term testing Regex=[[ (var|atomic|atom|integer|float|compound|nonvar|number)(?=[(]) ]], Group=1 }, { Id=3, -- stream selection and control Regex=[[ ((curren|se)t_(in|out)put)(?=[(]) ]], Group=1 }, { Id=3, Regex=[[ (open|close)(?=[(]) ]], Group=1 }, { Id=3, Regex=[[ (flush_output)(?=[(]) ]], Group=1 }, { Id=3, Regex=[[ (flush_output) ]], Group=1 }, { Id=3, Regex=[[ (stream_property|at_end_of_stream|set_stream_position)(?=[(]) ]], Group=1 }, { Id=3, Regex=[[ (at_end_of_stream) ]], Group=1 }, { Id=3, -- character and byte input/output Regex=[[ (nl|(get|peek|put)_(byte|char|code))(?=[(]) ]], Group=1 }, { Id=3, Regex=[[ (nl) ]], Group=1 }, { Id=3, -- term input/output Regex=[[ (read(_term)?)(?=[(]) ]], Group=1 }, { Id=3, Regex=[[ (write(q|_(canonical|term))?)(?=[(]) ]], Group=1 }, { Id=3, Regex=[[ ((current_)?op)(?=[(]) ]], Group=1 }, { Id=3, Regex=[[ ((current_)?char_conversion)(?=[(]) ]], Group=1 }, { Id=3, --atomic term processing Regex=[[ (atom_(length|c(hars|o(ncat|des))))(?=[(]) ]], Group=1 }, { Id=3, Regex=[[ (char_code|sub_atom)(?=[(]) ]], Group=1 }, { Id=3, Regex=[[ (number_c(har|ode)s)(?=[(]) ]], Group=1 }, { Id=3, --implementation defined hooks functions Regex=[[ ((?:se|curren)t_prolog_flag)(?=[(]) ]], Group=1 }, { Id=3, Regex=[[ (halt) ]], Group=1 }, { Id=3, Regex=[[ (halt)(?=[(]) ]], Group=1 }, { Id=3, --logic and control Regex=[[ (once)(?=[(]) ]], Group=1 }, { Id=3, Regex=[[ (repeat) ]], Group=1 }, { Id=4, --Logtalk message sending operators Regex=[[ (::|\^\^|<<|:) ]], }, { Id=4, --Logtalk external-call control construct Regex=[[ ([{}]) ]], }, { Id=4, --operators Regex=[[ (\\\+|->|=\.\.|;|!|:-|\^) ]], }, { Id=4, Regex=[[ (is|mod|rem|//|[+\-]|/(?!\*)|(?<=\*)/|[*][*]) ]], }, { Id=4, Regex=[[ (=<|<|=:=|=\\=|>=|>) ]], }, { Id=4, Regex=[[ (@<|@=<|==|\\==|@>|@>=) ]], }, { Id=4, Regex=[[ (=|\\=) ]], }, { Id=4, Regex=[[ (\?|@) ]], }, { Id=4, Regex=[[ (/\\|\\/|>>|\\) ]], }, } Strings={ Delimiter=[["|']], } IgnoreCase=false Comments={ { Block=false, Delimiter= { [[%]] }, }, { Block=true, Nested=false, Delimiter= { [[\/\*]],[[\*\/]],} } } Operators=[[\(|\)|\[|\]|\{|\}|\,|\;|\:|\&|<|>|\!|\=|\/|\*|\+|\-]]