autocompleteWords encoding calls category dynamic end_category end_object end_protocol info initialization object protocol threaded uses alias discontiguous meta_predicate mode op private protected public current_object current_protocol current_category object_property protocol_property category_property create_object create_protocol create_category abolish_object abolish_protocol abolish_category extends_object extends_protocol implements_protocol imports_category instantiates_class specializes_class abolish_events current_event define_events logtalk_load logtalk_compile logtalk_library_path current_logtalk_flag set_logtalk_flag threaded_call threaded_exit self this sender parameter before after phrase expand_term term_expansion true fail call catch throw unify_with_occurs_check var atom integer float atomic compound nonvar number arg copy_term functor current_predicate predicate_property abolish assertz asserta clause retract retractall bagof findall forall setof current_input current_output set_input set_output open close flush_output stream_property at_end_of_stream set_stream_position get_char get_code peek_char peek_code put_char put_code nl get_byte peek_byte put_byte read read_term write writeq write_canonical atom_chars atom_codes atom_concat number_chars number_codes current_op char_conversion current_char_conversion once repeat atom_length atom_concat sub_atom atom_chars atom_codes char_code number_chars number_codes set_prolog_flag current_prolog_flag halt beginCommand beginFirstMultiLineComment /* beginInstruction beginSecondMultiLineComment beginVariable endCommand endFirstMultiLineComment */ endInstruction endSecondMultiLineComment endVariable firstSingleLineComment % firstString " functionDefinition ((?<=:-\sobject\()|(?<=:-\sprotocol\()|(?<=:-\scategory\())[a-z][a-zA-Z_]* removeFromFunction keywords :: ^^ keywordsCaseSensitive recolourKeywordIfAlreadyColoured secondSingleLineComment secondString '