From 60dd083bcb545617df1c850e85b57f4dcd7ba18b Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Fri, 14 Aug 2020 13:28:48 -0700 Subject: [PATCH] misc/vim: highlight predicate classes. --- misc/syntax-test.factor | 3 +++ misc/vim/syntax/factor.vim | 9 ++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/misc/syntax-test.factor b/misc/syntax-test.factor index 01c6f39b02..14e09e4887 100644 --- a/misc/syntax-test.factor +++ b/misc/syntax-test.factor @@ -87,6 +87,7 @@ drop ! wrong MATH: + ( x y -- z ) foldable flushable C: foo CONSTRUCTOR: circle ( radius -- obj ) ; + CONSTRUCTOR: circle ( radius -- obj ) definition... ; ! Private definitions @@ -105,6 +106,8 @@ drop ! wrong GENERIC#: word 1 ( stack -- effect ) MATH: + ( x y -- z ) foldable flushable C: foo + CONSTRUCTOR: circle ( radius -- obj ) ; + CONSTRUCTOR: circle ( radius -- obj ) definition... ; PRIVATE> diff --git a/misc/vim/syntax/factor.vim b/misc/vim/syntax/factor.vim index 70cec742a2..2f12f97c41 100644 --- a/misc/vim/syntax/factor.vim +++ b/misc/vim/syntax/factor.vim @@ -245,7 +245,7 @@ syn region factorRename start=/\v/ skip=/\v.*/ end= syn region factorSingletons start=/\v/ end=/\v<;>/ contains=@factorComment syn region factorSymbol start=/\v/ end=/\v<\S+>/ contains=@factorComment syn region factorSymbols start=/\v/ end=/\v<;>/ contains=@factorComment -syn region factorConstructor2 start=/\v/ end=/\v<;>/ contains=@factorComment +syn region factorConstructor2 start=/\v/ end=/\v<;>/ contains=@factorComment,factorStackEffect syn region factorIntersection start=/\v/ end=/\v<;>/ contains=@factorComment syn cluster factorSlotAttr contains=factorSlotAttrInitial,factorSlotAttrReadOnly syn cluster factorTupleSlotAttr contains=@factorSlotAttr @@ -256,6 +256,7 @@ syn match factorTupleSlotClass /\v<\S+>/ nextgroup=factorTupleSlotAttrS syn match factorTupleSlotClassSkip /\v%(\_\s+%(!>.*)?)*/ contains=@factorComment nextgroup=factorTupleSlotClass,@factorTupleSlotAttr transparent contained syn region factorTupleSlot matchgroup=factorTupleSlotDelims start=/\v<\{>/ end=/\v<\}>/ contains=@factorComment,factorTupleSlotName,@factorTupleSlotAttr contained syn region factorTuple matchgroup=factorTupleDelims start=/\v<%(TUPLE|BUILTIN):>/ end=/\v<;>/ contains=@factorComment,factorTupleSlotName,factorTupleSlot +syn region factorPredicate matchgroup=factorPredicateDelims start=/\v<%(PREDICATE):>/ end=/\v<;>/ contains=@factorComment,factorTupleSlotName " Abnormally named because factor*Error is reserved for syntax errors. syn region factorErrorSyn start=/\v/ end=/\v<;>/ contains=@factorComment syn region factorUnion start=/\v/ end=/\v<;>/ contains=@factorComment @@ -486,8 +487,8 @@ if !exists('g:factor_syn_no_init') HiLink factorSymbols Define HiLink factorConstant Define HiLink factorAlias Define - HiLink factorSingleton Define - HiLink factorSingletons Define + HiLink factorSingleton Typedef + HiLink factorSingletons Typedef HiLink factorMixin Typedef HiLink factorInstance Typedef HiLink factorHook Typedef @@ -508,6 +509,8 @@ if !exists('g:factor_syn_no_init') HiLink factorSlotAttrReadOnly factorSlotAttr HiLink factorStructSlotAttr factorSlotAttr HiLink factorStructSlotAttrBits factorStructSlotAttr + HiLink factorPredicate Typedef + HiLink factorPredicateDelims factorTuple HiLink factorTuple Typedef HiLink factorTupleDelims factorTuple HiLink factorTupleSlot factorSlot -- 2.34.1