/** ** Logtalk syntax dictionary for TextMate. ** ** Paulo Moura **/ { name = "Logtalk"; scopeName = "source.logtalk"; fileTypes = (lgt, config); foldingStartMarker = "(/\\*|:-\\s+(object|protocol|category)(?=[(]))"; foldingStopMarker = "(\\*/|:-\\s+end_(object|protocol|category)(?=[.]))"; patterns = ( { name = "comment.block.logtalk"; begin = "/\\*"; end = "\\*/"; }, { name = "comment.line.percentage.logtalk"; match = "%.*$"; }, { name = "storage.type.opening.logtalk"; match = ":-\\s+(object|protocol|category|module)(?=[(])"; }, { name = "storage.type.closing.logtalk"; match = ":-\\s+(end_(object|protocol|category))(?=[.])"; }, { name = "storage.type.relations.logtalk"; match = "\\b(extends|i(nstantiates|mp(orts|lements))|specializes)(?=[(])"; }, { name = "storage.modifier.others.logtalk"; match = ":-\\s+(calls|e(ncoding|xport)|in(itialization|fo)|uses)(?=[(])"; }, { name = "storage.modifier.others.logtalk"; match = ":-\\s+(alias|info|d(ynamic|iscontiguous)|m(etapredicate|ode|ultifile)|p(ublic|r(otected|ivate))|op|use(s|_module))(?=[(])"; }, { name = "keyword.operator.message-sending.logtalk"; match = "(::|\\^\\^)"; }, { name = "keyword.operator.mode.logtalk"; match = "(\\?|@)"; }, { name = "keyword.operator.term-comparison.logtalk"; match = "(@=<|@<|@>|@>=|==|\\\\==)"; }, { name = "keyword.operator.arithmetic-comparison.logtalk"; match = "(=<|<|>|>=|=:=|=\\\\=)"; }, { name = "keyword.operator.bitwise.logtalk"; match = "(<<|>>|/\\\\|\\\\/|\\\\)"; }, { name = "keyword.operator.evaluable.logtalk"; match = "\\b(mod|rem)\\b"; }, { name = "keyword.operator.evaluable.logtalk"; match = "(\\*\\*|\\+|-|\\*|/|//)"; }, { name = "keyword.operator.misc.logtalk"; match = "(:-|!|\\\\+|,|;|-->|->|=|\\=|\\.|=\\.\\.|\\bis\\b)"; }, { name = "support.function.control.logtalk"; match = "\\b(true|fail|repeat)\\b"; }, { name = "support.function.control.logtalk"; match = "\\b(ca(ll|tch)|throw|once)(?=[(])"; }, { name = "support.function.chars-and-bytes-io.logtalk"; match = "\\b((get|peek|put)_(char|code|byte)|nl)(?=[(])"; }, { name = "support.function.chars-and-bytes-io.logtalk"; match = "\\bnl\\b"; }, { name = "support.function.atom-term-processing.logtalk"; match = "\\b(atom_(length|c(hars|o(ncat|des)))|sub_atom|char_code|number_c(hars|odes))(?=[(])"; }, { name = "support.function.term-testing.logtalk"; match = "\\b(var|atom|integer|float|atomic|compound|n(onvar|umber))(?=[(])"; }, { name = "support.function.term-io.logtalk"; match = "\\b(read_term|read|write|write(q|_(canonical|term))|op|current_op|char_conversion|current_char_conversion)(?=[(])"; }, { name = "support.function.term-creation-and-decomposition.logtalk"; match = "\\b(arg|copy_term|functor)(?=[(])"; }, { name = "support.function.term-unification.logtalk"; match = "\\b(unify_with_occurs_check)(?=[(])"; }, { name = "support.function.stream-selection-and-control.logtalk"; match = "\\b((set|current)_(in|out)put|open|close|flush_output|stream_property|at_end_of_stream|set_stream_position)(?=[(])"; }, { name = "support.function.stream-selection-and-control.logtalk"; match = "\\b(flush_output|at_end_of_stream)\\b"; }, { name = "support.function.prolog-flags.logtalk"; match = "\\b((set|current)_prolog_flag)(?=[(])"; }, { name = "support.function.compiling-and-loading.logtalk"; match = "\\b(logtalk_(compile|l(ibrary_path|oad)))(?=[(])"; }, { name = "support.function.event-handling.logtalk"; match = "\\b((abolish|define)_events|current_event)(?=[(])"; }, { name = "support.function.implementation-defined-hooks.logtalk"; match = "\\b((current|set)_logtalk_flag|halt)(?=[(])"; }, { name = "support.function.implementation-defined-hooks.logtalk"; match = "\\b(halt)\\b"; }, { name = "support.function.entity-creation-and-abolishing.logtalk"; match = "\\b((c(reate|urrent)|abolish)_(object|protocol|category))(?=[(])"; }, { name = "keyword.other.predicate.reflection.logtalk"; match = "\\b((object|protocol|category)_property|extends_(object|protocol)|imp(orts_category|lements_protocol)|(instantiates|specializes)_class)(?=[(])"; }, { name = "support.function.logtalk"; match = "\\b((for|retract)all)(?=[(])"; }, { name = "support.function.execution-context.logtalk"; match = "\\b(parameter|se(lf|nder)|this)(?=[(])"; }, { name = "support.function.database.logtalk"; match = "\\b(a(bolish|ssert(a|z))|clause|retract|retractall)(?=[(])"; }, { name = "support.function.all-solutions.logtalk"; match = "\\b((bag|set)of|f(ind|or)all)(?=[(])"; }, { name = "support.function.reflection.logtalk"; match = "\\b(current_predicate|predicate_property)(?=[(])"; }, { name = "support.function.event-handler.logtalk"; match = "\\b(before|after)(?=[(])"; }, { name = "support.function.grammar-rule.logtalk"; match = "\\b(expand_term|phrase)(?=[(])"; }, { name = "string.quoted.single.logtalk"; begin = "'"; end = "'"; swallow = "\\\\."; }, { name = "string.quoted.double.logtalk"; begin = "\""; end = "\""; swallow = "\\\\."; }, { name = "constant.numeric.logtalk"; match = "\\b(0b[0-1]+|0o[0-7]+|0x\\h+)\\b"; }, { name = "constant.numeric.logtalk"; match = "\\b(0'.|0''|0'\")"; }, { name = "constant.numeric.logtalk"; match = "\\b(\\d+\\.?\\d*((e|E)(\\+|-)?\\d+)?)\\b"; }, { name = "variable.other.logtalk"; match = "\\b([A-Z_][A-Za-z0-9_]*)\\b"; } ); uuid = "C11FA1F2-6EDB-11D9-8798-000A95DAA580"; }