diff options
Diffstat (limited to 'runtime/syntax/logtalk.vim')
-rw-r--r-- | runtime/syntax/logtalk.vim | 51 |
1 files changed, 26 insertions, 25 deletions
diff --git a/runtime/syntax/logtalk.vim b/runtime/syntax/logtalk.vim index bc70ef41b4..2c6c82aaa0 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 @@ syn match logtalkOperator ":-" " 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 @@ syn match logtalkEscapeSequence contained "\\\([\\abfnrtv\"\']\|\(x[a-fA-F0-9]\+ " Logtalk message sending operators syn match logtalkOperator "::" -syn match logtalkOperator ":" +syn match logtalkOperator "\(0'\)\@<!:" syn match logtalkOperator "\^\^" @@ -138,7 +139,7 @@ syn match logtalkBuiltIn "\<logtalk_make\>" 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 @@ syn match logtalkBuiltInMethod "\<phrase\ze(" " 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 "\<true\>" 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 "\<is\>" 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 @@ syn match logtalkKeyword "\<\(key\)\?sort\ze(" " 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 "\<t\(an\|runcate\)\ze(" 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 "\\" +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\+\>" 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 @@ syn match logtalkNumber "\<0x\x\+\>" " 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 |