; TextPad syntax definitions for Logtalk (https://logtalk.org/) ; ; Author: Paulo Moura ; Last changed in: October 6, 2025 ; ; Tags used and suggested colors: ; Keywords 1 message-sending operators blue ; Keywords 2 entity enclosing directives purple ; Keywords 3 entity directives purple ; Keywords 4 built-in predicates ; Keywords 5 built-in methods C=1 [Syntax] Namespace1 = 6 IgnoreCase = NO InitKeyWordChars = KeyWordChars = a-zA-Z0-9_:^;*+,-./;<=>?@[\]^{|} KeyWordLength = BracketChars = OperatorChars = <=>?@[\]| PreprocStart = SyntaxStart = SyntaxEnd = HexPrefix = 0x CommentStart = /* CommentEnd = */ CommentStartAlt = CommentEndAlt = SingleComment = % SingleCommentCol = SingleCommentAlt = SingleCommentColAlt = SingleCommentEsc = StringsSpanLines = Yes StringStart = " StringEnd = " StringAlt = StringEsc = \ CharStart = ' CharEnd = ' CharEsc = \ [Keywords 1] ; Logtalk message-sending operators ^^ :- . , ; :: ; Logtalk category predicate direct call operator : ; Logtalk external call { } [Keywords 2] ; Logtalk conditional compilation directives if elif else endif ; Logtalk opening entity directives object protocol category module ; Logtalk closing entity directives end_object end_protocol end_category ; Logtalk entity relations complements instantiates specializes extends imports implements [Keywords 3] ; Logtalk directives alias built_in calls discontiguous dynamic encoding export initialization info mode mode_non_terminal meta_predicate meta_non_terminal multifile coinductive public protected private op reexport synchronized threaded uses use_module [Keywords 4] ; Logtalk built-in predicates current_object current_protocol current_category create_object create_protocol create_category object_property protocol_property category_property abolish_object abolish_protocol abolish_category complements_object conforms_to_protocol extends_object extends_protocol extends_category implements_protocol instantiates_class specializes_class imports_category abolish_events current_event define_events current_logtalk_flag set_logtalk_flag create_logtalk_flag logtalk_compile logtalk_load logtalk_library_path logtalk_make logtalk_make_target_action threaded threaded_call threaded_cancel threaded_once threaded_ignore threaded_exit threaded_peek threaded_wait threaded_notify threaded_engine threaded_engine_create threaded_engine_destroy threaded_engine_self threaded_engine_next threaded_engine_next_reified threaded_engine_yield threaded_engine_post threaded_engine_fetch forall retractall [Keywords 5] ; Logtalk built-in methods context parameter self sender this current_predicate predicate_property abolish asserta assertz clause retract retractall bagof findall forall setof before after forward expand_term expand_goal goal_expansion term_expansion phrase instantiation_error uninstantiation_error type_error domain_error consistency_error existence_error permission_error representation_error evaluation_error resource_error syntax_error system_error ; Mode operators ? @ ; Control constructs true fail false call ! , ; --> -> catch throw ; Term unification = subsumes_term unify_with_occurs_check \= ; Term testing var atom integer float atomic callable compound nonvar number acyclic_term ; Term comparison compare @=< == \== @< @> @>= ; Term creation and decomposition functor arg =.. copy_term numbervars term_variables ; Arithmetic evaluation is ; Arithmetic comparison =:= =\= < =< > >= ; Sorting keysort sort ; Stream selection and control current_input current_output set_input set_output open close flush_output stream_property at_end_of_stream set_stream_position ; Character input/output get_char get_code peek_char peek_code put_char put_code nl ; Byte input/output get_byte peek_byte put_byte ; Term input/output read_term read write_term write writeq write_canonical op current_op char_conversion current_char_conversion ; Logic and control \+ ignore once repeat ; Atomic term processing atom_length atom_concat sub_atom atom_chars atom_codes char_code number_chars number_codes ; Implementation defined hooks functions set_prolog_flag current_prolog_flag halt ; Evaluable functors + - * // / max min rem mod div abs sign float_integer_part float_fractional_part float floor truncate round ceiling ; Other arithmetic functors ** sin cos tan acos asin atan atan2 exp log sqrt ; Bitwise functors >> << /\ \/ \ xor ; Logtalk end-of-clause . ; Logtalk list operator |