runtime(logtalk): Update Logtalk runtime files for the latest language spec (#13697)


Signed-off-by: Paulo Moura <pmoura@logtalk.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/syntax/logtalk.vim b/runtime/syntax/logtalk.vim
index bc70ef4..2c6c82a 100644
--- a/runtime/syntax/logtalk.vim
+++ b/runtime/syntax/logtalk.vim
@@ -1,8 +1,9 @@
 " Vim syntax file
 "
 " Language:	Logtalk
-" Maintainer:	Paulo Moura <pmoura@logtalk.org>
-" Last Change:	August 3, 2018
+" Maintainer:   Paulo Moura <pmoura@logtalk.org>
+" Last Change:  December 16, 2023
+
 
 
 " quit when a syntax file was already loaded
@@ -30,7 +31,7 @@
 
 " Logtalk quoted atoms and strings
 
-syn region	logtalkString		start=+"+	skip=+\\"+	end=+"+
+syn region	logtalkString		start=+"+	skip=+\\"+	end=+"+		contains=logtalkEscapeSequence
 syn region	logtalkAtom		start=+'+	skip=+\\'+	end=+'+		contains=logtalkEscapeSequence
 
 syn match	logtalkEscapeSequence	contained	"\\\([\\abfnrtv\"\']\|\(x[a-fA-F0-9]\+\|[0-7]\+\)\\\)"
@@ -39,7 +40,7 @@
 " Logtalk message sending operators
 
 syn match	logtalkOperator		"::"
-syn match	logtalkOperator		":"
+syn match	logtalkOperator		"\(0'\)\@<!:"
 syn match	logtalkOperator		"\^\^"
 
 
@@ -138,7 +139,7 @@
 
 syn match	logtalkBuiltIn		"\<\(for\|retract\)all\ze("
 
-syn match	logtalkBuiltIn		"\<threaded\(_\(call\|once\|ignore\|exit\|peek\|wait\|notify\)\)\?\ze("
+syn match	logtalkBuiltIn		"\<threaded\(_\(ca\(ll\|ncel\)\|once\|ignore\|exit\|peek\|wait\|notify\)\)\?\ze("
 syn match	logtalkBuiltIn		"\<threaded_engine\(_\(create\|destroy\|self\|next\|next_reified\|yield\|post\|fetch\)\)\?\ze("
 
 
@@ -171,8 +172,8 @@
 
 " Mode operators
 
-syn match	logtalkOperator		"?"
-syn match	logtalkOperator		"@"
+syn match	logtalkOperator		"\(0'\)\@<!?"
+syn match	logtalkOperator		"\(0'\)\@<!@"
 
 
 " Control constructs
@@ -181,19 +182,19 @@
 syn match	logtalkKeyword		"\<fail\>"
 syn match	logtalkKeyword		"\<false\>"
 syn match	logtalkKeyword		"\<ca\(ll\|tch\)\ze("
-syn match	logtalkOperator		"!"
-" syn match	logtalkOperator		","
-syn match	logtalkOperator		";"
+syn match	logtalkOperator		"\(0'\)\@<!!"
+" syn match	logtalkOperator		"\(0'\)\@<!,"
+syn match	logtalkOperator		"\(0'\)\@<!;"
 syn match	logtalkOperator		"-->"
 syn match	logtalkOperator		"->"
 syn match	logtalkKeyword		"\<throw\ze("
 syn match	logtalkKeyword		"\<\(instantiation\|system\)_error\>"
-syn match	logtalkKeyword		"\<\(type\|domain\|existence\|permission\|representation\|evaluation\|resource\|syntax\)_error\ze("
+syn match	logtalkKeyword		"\<\(uninstantiation\|type\|domain\|existence\|permission\|representation\|evaluation\|resource\|syntax\)_error\ze("
 
 
 " Term unification
 
-syn match	logtalkOperator		"="
+syn match	logtalkOperator		"\(0'\)\@<!="
 syn match	logtalkKeyword		"\<subsumes_term\ze("
 syn match	logtalkKeyword		"\<unify_with_occurs_check\ze("
 syn match	logtalkOperator		"\\="
@@ -246,9 +247,9 @@
 
 syn match	logtalkOperator		"=:="
 syn match	logtalkOperator		"=\\="
-syn match	logtalkOperator		"<"
+syn match	logtalkOperator		"\(0'\)\@<!<"
 syn match	logtalkOperator		"=<"
-syn match	logtalkOperator		">"
+syn match	logtalkOperator		"\(0'\)\@<!>"
 syn match	logtalkOperator		">="
 
 
@@ -310,11 +311,11 @@
 
 " Evaluable functors
 
-syn match	logtalkOperator		"+"
-syn match	logtalkOperator		"-"
-syn match	logtalkOperator		"\*"
+syn match	logtalkOperator		"\(0'\)\@<![+]"
+syn match	logtalkOperator		"\(0'\)\@<![-]"
+syn match	logtalkOperator		"\(0'\)\@<!\*"
 syn match	logtalkOperator		"//"
-syn match	logtalkOperator		"/"
+syn match	logtalkOperator		"\(0'\)\@<!/"
 syn match	logtalkKeyword		"\<div\ze("
 syn match	logtalkKeyword		"\<r\(ound\|em\)\ze("
 syn match	logtalkKeyword		"\<e\>"
@@ -330,7 +331,7 @@
 syn match	logtalkKeyword		"\<ceiling\ze("
 
 
-" Other arithmetic functors
+" Other arithemtic functors
 
 syn match	logtalkOperator		"\*\*"
 syn match	logtalkKeyword		"\<s\(in\|qrt\)\ze("
@@ -346,18 +347,18 @@
 syn match	logtalkOperator		"<<"
 syn match	logtalkOperator		"/\\"
 syn match	logtalkOperator		"\\/"
-syn match	logtalkOperator		"\\"
+syn match	logtalkOperator		"0'\@<!\\"
 syn match	logtalkKeyword		"\<xor\ze("
 
 
 " Logtalk list operator
 
-syn match	logtalkOperator		"|"
+syn match	logtalkOperator		"\(0'\)\@<!|"
 
 
 " Logtalk existential quantifier operator
 
-syn match	logtalkOperator		"\^"
+syn match	logtalkOperator		"\(0'\)\@<!^"
 
 
 " Logtalk numbers 
@@ -366,7 +367,7 @@
 syn match	logtalkNumber		"\<\d\+\.\d\+\>"
 syn match	logtalkNumber		"\<\d\+[eE][-+]\=\d\+\>"
 syn match	logtalkNumber		"\<\d\+\.\d\+[eE][-+]\=\d\+\>"
-syn match	logtalkNumber		"\<0'[\\]\?.\|0''\|0'\"\>"
+syn match	logtalkNumber		"0'[\\]\?."
 syn match	logtalkNumber		"\<0b[0-1]\+\>"
 syn match	logtalkNumber		"\<0o\o\+\>"
 syn match	logtalkNumber		"\<0x\x\+\>"
@@ -374,13 +375,13 @@
 
 " Logtalk end-of-clause
 
-syn match	logtalkOperator		"\."
+syn match	logtalkOperator		"\(0'\)\@<!\."
 
 
 " Logtalk comments
 
 syn region	logtalkBlockComment	start="/\*"	end="\*/"	fold
-syn match	logtalkLineComment	"%.*"
+syn match	logtalkLineComment	"%.*$"
 
 syn cluster	logtalkComment		contains=logtalkBlockComment,logtalkLineComment