lexer.*.pro;*.pl=visualprolog
fold=1

# Visual Prolog properties
match AllStyles.pro
  lexer.visualprolog.verbatim.strings=1
  lexer.visualprolog.backquoted.strings=0

# ISO/SWI-Prolog properties
match AllStyles.pl
  lexer.visualprolog.verbatim.strings=0
  lexer.visualprolog.backquoted.strings=1

# major keywords
keywords.*.pro;*.pl=goal namespace interface class implement open inherits supports resolve delegate \
monitor constants domains predicates constructors properties clauses facts string_lower atom_codes sort

# minor keywords
keywords2.*.pro;*.pl=any binary binaryNonAtomic boolean char compareResult factDB guard handle integer64 \
integerNative language null pointer real real32 stdcall string8 symbol apicall c thiscall prolog \
digits if then elseif else endif foreach do try catch finally erroneous failure procedure determ multi \
nondeterm anyflow and or externally from div mod rem quot in orelse otherwise unsigned unsigned64 \
unsignedNative

# directives
keywords3.*.pro;*.pl=include bininclude requires orrequires error message export externally options

# documentation keywords
keywords4.*.pro;*.pl=short detail end exception withdomain
