From ee0d649db839322628953be0729a797598d74ddf Mon Sep 17 00:00:00 2001 From: Max Wash Date: Mon, 19 Jan 2026 14:25:25 +0000 Subject: [PATCH] vim: update operator symbols; label and msg-name patterns --- ivy.vim/syntax/ivy.vim | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/ivy.vim/syntax/ivy.vim b/ivy.vim/syntax/ivy.vim index 7693bd4..d284de7 100755 --- a/ivy.vim/syntax/ivy.vim +++ b/ivy.vim/syntax/ivy.vim @@ -9,25 +9,32 @@ setlocal iskeyword+=- syn match ivyType /\<[A-Z]\{1,2}[a-z0-9]\+\(-\?[A-Z]\{1,2}[a-z0-9]\+\)*\>/ syn match ivySelectorLabel /\<[a-z][A-Za-z0-9-_]*\:/ +syn match ivySelectorLabel /\-[a-z][A-Za-z0-9-_]*\:/ +syn match ivySelectorLabel /+[a-z][A-Za-z0-9-_]*\:/ "syn match ivySelectorLabel /\<\([a-z]\([A-Za-z0-9_]\+\)\:\(\:\)\@!\)\+/ -syn match ivyUnnamedVariable /\<_\>/ - syn match ivyAtomName /\$[a-z][a-z0-9_:/-]*\>/ syn match ivyWord /\<[a-z_][a-zA-Z0-9_]*\(-\?[a-zA-Z][a-zA-Z0-9_]*\)*\>\(\:\)\@!/ +syn match ivyUnnamedLabel /\s*(\?_:/ +syn match ivyUnnamedVariable /\<_\>/ + syn match ivyComplexMessageName /\<\zs[A-Za-z][A-Za-z0-9-_]\+\ze(/ +syn match ivyComplexMessageName /\-[A-Za-z][A-Za-z0-9-_]\+\ze(/ +syn match ivyComplexMessageName /+[A-Za-z][A-Za-z0-9-_]\+\ze(/ "syn match ivyUnaryMessageName /-\s*[a-zA-z][a-zA-Z0-9_]\+\s*\n/ syn match ivyUnaryMessageName /\(-\s*\)\@<=[a-z][A-Za-z0-9-_]*\(\s*\n\)\@=/ syn match ivyUnaryMessageName /\(-\s*\)\@<=[a-z][A-Za-z0-9-_]*\(\s*|\)\@=/ syn match ivyUnaryMessageName /\(+\s*\)\@<=[a-z][A-Za-z0-9-_]*\(\s*\n\)\@=/ syn match ivyUnaryMessageName /\(+\s*\)\@<=[a-z][A-Za-z0-9-_]*\(\s*|\)\@=/ +syn match ivyUnaryMessageName /\-[a-z][A-Za-z0-9-_]*\(\s*[\|\[]\)\@=/ +syn match ivyUnaryMessageName /+[a-z][A-Za-z0-9-_]*\(\s*[\|\[]\)\@=/ syn match ivyPropertyName /\(->\s*\)\@<=[a-z][A-Za-z0-9-_]*/ syn match ivyLineContinuation /\\\n/ " Modifiers -syn match ivySelfVar /\\{1,2}" display syn match ivyOpSymbols "<\{1,2}" display -syn match ivyOpSymbols "[+\-/*%&^!|<>;,]" display -syn match ivyOpSymbols "[+\-/*%&^!|<>]=" display +syn match ivyOpSymbols "[\/*%&!<>;,]" display +syn match ivyOpSymbols "[+\-/*%&!<>]=" display +syn match ivyOpSymbols "\s\+[\-+]\s\+" display +syn match ivyOpSymbols "\->" display syn match ivyOtherSymbols "=>" display syn match ivyLogicSymbols "&&" display syn match ivyLogicSymbols "||" display -syn match ivyStatementSeparator "\.\s*" display +syn match ivyPackageAccessOperator "\." display +syn match ivyStatementSeparator "\.\s*\n" display syn match ivyMessageTerminator "\![\s\n]\+" display syn keyword ivyWordOperator is not understands and or @@ -147,15 +158,14 @@ hi def link ivyStatement Statement hi def link ivyRepeat Repeat hi def link ivyConditional Conditional hi def link ivySelectorLabel Tag -hi def link ivyUnnamedLabel @variable.builtin -hi def link ivyUnnamedVariable @variable.builtin +hi def link ivyUnnamedLabel Comment +hi def link ivyUnnamedVariable Comment hi def link ivyLambdaParameter @variable.builtin hi def link ivyException Exception hi def link ivyParens Delimiter hi def link ivyBraces Structure -hi def link ivyBrackets Define -hi def link ivyLambdaSymbols Define +hi def link ivyControlSymbols Keyword hi def link ivyModifier StorageClass hi def link ivyAccessModifier ivyModifier @@ -176,6 +186,7 @@ hi def link ivyTypeOf ivyKeywordOperator hi def link ivyTypeOfOperand Typedef hi def link ivyTypeOfError Error hi def link ivyOpSymbols Operator +hi def link ivyPackageAccessOperator Operator hi def link ivyOtherSymbols Structure hi def link ivyLogicSymbols Operator hi def link ivyWordOperator Operator