]> gitweb.factorcode.org Git - factor.git/commitdiff
misc/vim: highlight predicate classes.
authorJohn Benediktsson <mrjbq7@gmail.com>
Fri, 14 Aug 2020 20:28:48 +0000 (13:28 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Fri, 14 Aug 2020 20:28:48 +0000 (13:28 -0700)
misc/syntax-test.factor
misc/vim/syntax/factor.vim

index 01c6f39b02a53de01313c5c571c61f3c7322e056..14e09e4887ee9f3e7aec0c2f834101b194802318 100644 (file)
@@ -87,6 +87,7 @@ drop ! wrong
     MATH: + ( x y -- z ) foldable flushable
     C: <foo> foo
     CONSTRUCTOR: <circle> circle ( radius -- obj ) ;
+    CONSTRUCTOR: <circle> 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> foo
+    CONSTRUCTOR: <circle> circle ( radius -- obj ) ;
+    CONSTRUCTOR: <circle> circle ( radius -- obj ) definition...  ;
 
 PRIVATE>
 
index 70cec742a2ade75ecae533584efc81481e854edf..2f12f97c41136c225f5137eab722c83a5f3f0c95 100644 (file)
@@ -245,7 +245,7 @@ syn region  factorRename          start=/\v<RENAME:>/      skip=/\v<!>.*/   end=
 syn region  factorSingletons      start=/\v<SINGLETONS:>/                   end=/\v<;>/     contains=@factorComment
 syn region  factorSymbol          start=/\v<SYMBOL:>/                       end=/\v<\S+>/   contains=@factorComment
 syn region  factorSymbols         start=/\v<SYMBOLS:>/                      end=/\v<;>/     contains=@factorComment
-syn region  factorConstructor2    start=/\v<CONSTRUCTOR:>/                  end=/\v<;>/     contains=@factorComment
+syn region  factorConstructor2    start=/\v<CONSTRUCTOR:>/                  end=/\v<;>/     contains=@factorComment,factorStackEffect
 syn region  factorIntersection    start=/\v<INTERSECTION:>/                 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<ERROR:>/            end=/\v<;>/     contains=@factorComment
 syn region  factorUnion           start=/\v<UNION:>/            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