Description="Prolog" Keywords={ { Id=1, List={"true", "fail", "at_end_of_stream", "nl", "repeat", "halt", "is", "rem", "mod"}, }, { Id=2, List={"call", "catch", "throw", "unify_with_occurs_check", "var", "atom", "integer", "float", "atomic", "compound", "nonvar", "number", "functor", "arg", "copy_term", "clause", "current_predicate", "asserta", "assertz", "retract", "abolish", "findall", "bagof", "setof", "current_input", "current_output", "set_input", "set_output", "open", "close", "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_term", "read", "write_term", "write", "writeq", "write_canonical", "op", "current_op", "char_conversion", "current_char_conversion", "once", "atom_length", "atom_concat", "sub_atom", "atom_chars", "atom_codes", "char_code", "number_chars", "number_codes", "set_prolog_flag", "current_prolog_flag", "halt", "sin", "cos", "atan", "exp", "log", "sqrt"}, }, { Id=3, Regex=[[0(')\w+]], }, { Id=4, Regex=[[(\w+)\s*\(]], }, } Strings={ Delimiter=[["|']], Interpolation=[[ ~\w+ ]] } IgnoreCase=false Comments={ { Block=false, Delimiter= { [[%]] }, }, { Block=true, Nested=false, Delimiter= { [[\/\*]],[[\*\/]],} } } PreProcessor={ Prefix=[[#]], } Operators=[[\(|\)|\[|\]|\{|\}|\,|\;|\:|\&|<|>|\!|\=|\/|\*|\+|\-|\.|\|]]