From 43aa09f5576877d3a0ece169276955eca940f3ed Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Thu, 11 Mar 2021 11:30:48 -0800 Subject: [PATCH] misc/vim: better definition/declaration highlighting. --- misc/vim/syntax/factor.vim | 186 +++++++++++++++++-------------------- 1 file changed, 86 insertions(+), 100 deletions(-) diff --git a/misc/vim/syntax/factor.vim b/misc/vim/syntax/factor.vim index b3538b28fb..80b7b3ef38 100644 --- a/misc/vim/syntax/factor.vim +++ b/misc/vim/syntax/factor.vim @@ -107,40 +107,40 @@ syn cluster factorClusterValue contains=factorBreakpoint,factorBoolean,fact " So! To know when double quotes & exclamation marks aren't special, " grep for "parse-raw". (Mostly. To be certain, grep for "lexer".) -syn match factorShebang /\v%^\#!.*$/ display +syn match factorShebang /\v%^\#!.*$/ display syn cluster factorComment contains=factorComment syn match factorComment /\v.*$/ contains=@factorCommentContents syn cluster factorCommentContents contains=factorTodo,@Spell syn match factorTodo /\v(TODO|FIXME|XXX):=/ contained -syn region factorDefn start=/\v<%(SYNTAX|%(MACRO|MEMO|TYPED)?:?):>/ matchgroup=factorDefnDelims end=/\v<;>/ contains=factorDefnDelims,@factorCluster -syn region factorDefnDelims start=/\v<%(SYNTAX|%(MACRO|MEMO|TYPED)?:?):>/ end=/\v<\S+>/ contains=@factorComment nextgroup=factorStackEffectSkip skipempty contained -syn region factorMethod start=/\v/ matchgroup=factorMethodDelims end=/\v<;>/ contains=factorMethodDelims,@factorCluster -syn region factorMethodDelims start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment skipempty keepend contained -syn region factorLocalsMethod start=/\v/ matchgroup=factorLocalsMethodDelims end=/\v<;>/ contains=factorLocalsMethodDelims,@factorCluster -syn region factorLocalsMethodDelims start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment nextgroup=factorStackEffectSkip skipempty keepend contained -syn region factorGeneric start=/\v<%(GENERIC|MATH|PRIMITIVE):>/ end=/\v<\S+>/ contains=@factorComment nextgroup=factorStackEffectSkip skipempty -syn region factorGenericN start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\d+>/ contains=@factorComment nextgroup=factorStackEffectSkip skipempty keepend -syn region factorHook start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment nextgroup=factorStackEffectSkip skipempty keepend - -syn region factorPDefn start=/\v<%(SYNTAX|%(MACRO|MEMO|TYPED)?:?):>/ skip=/\v.*/ matchgroup=factorPDefnDelims end=/\v<;>/ contains=factorPDefnDelims,@factorCluster contained -syn region factorPDefnDelims start=/\v<%(SYNTAX|%(MACRO|MEMO|TYPED)?:?):>/ end=/\v<\S+>/ contains=@factorComment nextgroup=factorStackEffectSkip skipempty contained -syn region factorPMethod start=/\v/ matchgroup=factorPMethodDelims end=/\v<;>/ contains=factorPMethodDelims,@factorCluster contained -syn region factorPMethodDelims start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment skipempty keepend contained -syn region factorPLocalsMethod start=/\v/ matchgroup=factorPLocalsMethodDelims end=/\v<;>/ contains=factorPLocalsMethodDelims,@factorCluster contained -syn region factorPLocalsMethodDelims start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment nextgroup=factorStackEffectSkip skipempty keepend contained -syn region factorPGeneric start=/\v<%(GENERIC|MATH|PRIMITIVE):>/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment nextgroup=factorStackEffectSkip skipempty contained -syn region factorPGenericN start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\d+>/ contains=@factorComment nextgroup=factorStackEffectSkip skipempty keepend contained -syn region factorPHook start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment nextgroup=factorStackEffectSkip skipempty keepend contained - -syn region factorPrivate start=/\v<\/ end=/\v>/ contains=@factorCluster,factorPDefn,factorPMethod,factorPLocalsMethod,factorPGeneric,factorPGenericN,factorPHook skipempty keepend +syn region factorDefn matchgroup=NONE start=/\v<%(SYNTAX|CONSTRUCTOR|%(M|MACRO|MEMO|TYPED)?:?):>/ skip=/\v.*/ matchgroup=factorDefnDelims end=/\v<;>/ contains=factorDefnDelims,@factorCluster keepend transparent +syn region factorDefnDelims start=/\v<%(SYNTAX|%(MACRO|MEMO|TYPED)?:?):>/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment nextgroup=factorStackEffectSkip skipempty keepend contained +syn region factorDefnDelims start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment skipempty keepend contained +syn region factorDefnDelims start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment nextgroup=factorStackEffectSkip skipempty keepend contained +syn region factorDefnDelims start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment nextgroup=factorStackEffectSkip skipempty keepend contained +syn region factorDeclDelims start=/\v<%(GENERIC|MATH|PRIMITIVE):>/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment nextgroup=factorStackEffectSkip skipempty keepend +syn region factorDeclDelims start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\d+>/ contains=@factorComment nextgroup=factorStackEffectSkip skipempty keepend +syn region factorDeclDelims start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment nextgroup=factorStackEffectSkip skipempty keepend +syn region factorDeclDelims start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment skipempty keepend + +syn region factorPDefn matchgroup=NONE start=/\v<%(SYNTAX|CONSTRUCTOR|%(M|MACRO|MEMO|TYPED)?:?):>/ skip=/\v.*/ matchgroup=factorPDefnDelims end=/\v<;>/ contains=factorPDefnDelims,@factorCluster keepend contained +syn region factorPDefnDelims start=/\v<%(SYNTAX|%(MACRO|MEMO|TYPED)?:?):>/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment nextgroup=factorStackEffectSkip skipempty keepend contained +syn region factorPDefnDelims start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment skipempty keepend contained +syn region factorPDefnDelims start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment nextgroup=factorStackEffectSkip skipempty keepend contained +syn region factorPDefnDelims start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment nextgroup=factorStackEffectSkip skipempty keepend contained +syn region factorPDeclDelims start=/\v<%(GENERIC|MATH|PRIMITIVE):>/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment nextgroup=factorStackEffectSkip skipempty keepend contained +syn region factorPDeclDelims start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\d+>/ contains=@factorComment nextgroup=factorStackEffectSkip skipempty keepend contained +syn region factorPDeclDelims start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment nextgroup=factorStackEffectSkip skipempty keepend contained +syn region factorPDeclDelims start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment skipempty keepend contained + +syn region factorPrivate start=/\v<\/ end=/\v>/ contains=@factorCluster,factorPDefn,factorPDeclDelims skipempty keepend syn keyword factorBoolean f t syn keyword factorBreakpoint B syn keyword factorFrySpecifier @ _ contained syn keyword factorDeclaration delimiter deprecated final flushable foldable inline recursive -syn region factorCall matchgroup=factorCallDelims start=/\v<%(call|execute)\V(\v>/ end=/\v<\V)\v>/ contains=@factorStackEffectContents +syn region factorCall matchgroup=factorCallDelims start=/\v<%(call|execute)\V(\v>/ end=/\v<\V)\v>/ contains=@factorStackEffectContents syn keyword factorCallNextMethod call-next-method syn region factorChar start=/\v/ end=/\v\S+>/ @@ -161,62 +161,62 @@ syn region factorMultilineComment start=/\v/ -syn cluster factorReal contains=@factorInteger,@factorFloat,@factorRatio,@factorBin,@factorOct,@factorHex,factorNan -syn cluster factorNumber contains=@factorReal,factorComplex +syn cluster factorReal contains=@factorInteger,@factorFloat,@factorRatio,@factorBin,@factorOct,@factorHex,factorNan +syn cluster factorNumber contains=@factorReal,factorComplex -syn cluster factorInteger contains=factorInteger +syn cluster factorInteger contains=factorInteger if !exists('g:factor_syn_no_error') " more general - syn cluster factorInteger add=factorIntegerError - syn match factorIntegerError /\v<[+-]=%(\d|,){-}\d%(\d|,)*>/ + syn cluster factorInteger add=factorIntegerError + syn match factorIntegerError /\v<[+-]=%(\d|,){-}\d%(\d|,)*>/ endif -syn match factorInteger /\v<[+-]=\d%(\d|,)*,@1/ +syn match factorInteger /\v<[+-]=\d%(\d|,)*,@1/ -syn cluster factorFloat contains=factorFloat +syn cluster factorFloat contains=factorFloat if !exists('g:factor_syn_no_error') " more general - syn cluster factorFloat add=factorFloatError - syn match factorFloatError /\v<[+-]=%(\S{-}\d&%(\d|,)*%([eE][+-]=%(\d|,)*|\.%(\d|,)*%([eE][+-]=%(\d|,)*)?)|\.%(\d|,)+%([eE][+-]=%(\d|,)*)?)>/ + syn cluster factorFloat add=factorFloatError + syn match factorFloatError /\v<[+-]=%(\S{-}\d&%(\d|,)*%([eE][+-]=%(\d|,)*|\.%(\d|,)*%([eE][+-]=%(\d|,)*)?)|\.%(\d|,)+%([eE][+-]=%(\d|,)*)?)>/ endif -syn match factorFloat /\v<[+-]=%(\d%(\d|,)*,@1/ +syn match factorFloat /\v<[+-]=%(\d%(\d|,)*,@1/ -syn cluster factorRatio contains=factorRatio +syn cluster factorRatio contains=factorRatio if !exists('g:factor_syn_no_error') " more general - syn cluster factorRatio add=factorRatioError - syn match factorRatioError /\v<[+-]=%(\S{-}\d.{-}\/&%(\d|,)*\.?%(\d|,)*%([+-]%(\d|,)*)?)\/[+-]=%(\S{-}\d&%(\d|,)*\.?%(\d|,)*%([eE][+-]=%(\d|,)*)?)>/ + syn cluster factorRatio add=factorRatioError + syn match factorRatioError /\v<[+-]=%(\S{-}\d.{-}\/&%(\d|,)*\.?%(\d|,)*%([+-]%(\d|,)*)?)\/[+-]=%(\S{-}\d&%(\d|,)*\.?%(\d|,)*%([eE][+-]=%(\d|,)*)?)>/ endif -syn match factorRatio /\v<([+-]=)\d%(\d|,)*,@1/ +syn match factorRatio /\v<([+-]=)\d%(\d|,)*,@1/ -syn region factorComplex start=/\v/ skip=/\v.*/ end=/\v<\}>/ contains=@factorComment,@factorReal +syn region factorComplex start=/\v/ skip=/\v.*/ end=/\v<\}>/ contains=@factorComment,@factorReal -syn cluster factorBin contains=factorBin +syn cluster factorBin contains=factorBin if !exists('g:factor_syn_no_error') - syn cluster factorBin add=factorBinError - syn match factorBinError /\v<[+-]=0[bB]%(\S{-}\w&%(\w|,)*\.?%(\w|,)*%([pP][+-]=%(\w|,)*)?)>/ + syn cluster factorBin add=factorBinError + syn match factorBinError /\v<[+-]=0[bB]%(\S{-}\w&%(\w|,)*\.?%(\w|,)*%([pP][+-]=%(\w|,)*)?)>/ endif -syn match factorBin /\v<[+-]=0[bB]%([01][01,]*,@1/ +syn match factorBin /\v<[+-]=0[bB]%([01][01,]*,@1/ -syn cluster factorOct contains=factorOct +syn cluster factorOct contains=factorOct if !exists('g:factor_syn_no_error') - syn cluster factorOct add=factorOctError - syn match factorOctError /\v<[+-]=0[oO]%(\S{-}\o&%(\w|,)*\.?(\w|,)*%([pP][+-]=%(\w|,)*)?)>/ + syn cluster factorOct add=factorOctError + syn match factorOctError /\v<[+-]=0[oO]%(\S{-}\o&%(\w|,)*\.?(\w|,)*%([pP][+-]=%(\w|,)*)?)>/ endif -syn match factorOct /\v<[+-]=0[oO]%(\o%(\o|,)*,@1/ +syn match factorOct /\v<[+-]=0[oO]%(\o%(\o|,)*,@1/ -syn cluster factorHex contains=factorHex -syn cluster factorHexNoRadix contains=factorHexNoRadix +syn cluster factorHex contains=factorHex +syn cluster factorHexNoRadix contains=factorHexNoRadix if !exists('g:factor_syn_no_error') - syn cluster factorHex add=factorHexError - syn match factorHexError /\v<[+-]=0[xX]%(\S{-}\x&%(\x|,)*\.?(\x|,)*%([pP][+-]=%(\w|,)*)?)>/ - syn cluster factorHexNoRadix add=factorHexNoRadixError - syn match factorHexNoRadixError /\v<[+-]=%(\S{-}\x&%(\w|,)*\.?(\w|,)*%([pP][+-]=%(\w|,)*)?)>/ contained + syn cluster factorHex add=factorHexError + syn match factorHexError /\v<[+-]=0[xX]%(\S{-}\x&%(\x|,)*\.?(\x|,)*%([pP][+-]=%(\w|,)*)?)>/ + syn cluster factorHexNoRadix add=factorHexNoRadixError + syn match factorHexNoRadixError /\v<[+-]=%(\S{-}\x&%(\w|,)*\.?(\w|,)*%([pP][+-]=%(\w|,)*)?)>/ contained endif -syn match factorHex /\v<[+-]=0[xX]%(\x%(\x|,)*,@1/ -syn match factorHexNoRadix /\v<[+-]=%(\x%(\x|,)*,@1/ contained +syn match factorHex /\v<[+-]=0[xX]%(\x%(\x|,)*,@1/ +syn match factorHexNoRadix /\v<[+-]=%(\x%(\x|,)*,@1/ contained syn region factorNan matchgroup=factorNan start=/\v/ matchgroup=NONE skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment,@factorHexNoRadix keepend -syn region factorBackslash start=/\v<\\>/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment -syn region factorMBackslash start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment keepend -syn region factorLiteral start=/\v<\$>/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment +syn region factorBackslash start=/\v<\\>/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment +syn region factorMBackslash start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment keepend +syn region factorLiteral start=/\v<\$>/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment syn match factorSlotAttrReadOnly /\v/ contained syn match factorSlotAttrInitial /\v%(\_\s+%(!>.*)?)+/ contains=@factorComment nextgroup=factorWord,@factorClusterValue contained @@ -243,35 +243,33 @@ syn match factorStructSlotTypeSkip /\v%(\_\s+%(!>.*)?)*/ contains=@factorCo syn region factorStructSlot matchgroup=factorStructSlotDelims start=/\v<\{>/ skip=/\v.*/ end=/\v<\}>/ contains=@factorComment,factorStructSlotName,@factorStructSlotAttr contained syn region factorStruct matchgroup=factorStructDelims start=/\v<%(%(UNION-)?STRUCT):>/ skip=/\v.*/ end=/\v<;>/ contains=@factorComment,factorStructSlot -syn region factorAlias start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment keepend -syn region factorAlien start=/\v/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment,@factorHexNoRadix -syn region factorConstant start=/\v/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment -syn region factorConstructor start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment keepend -syn region factorConstructor2 start=/\v/ skip=/\v.*/ end=/\v<;>/ contains=@factorComment,@factorStackEffect -syn region factorDefer start=/\v/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment -syn region factorExclude start=/\v/ skip=/\v.*/ end=/\v<;>/ contains=@factorComment -syn region factorForget start=/\v/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment -syn region factorFrom start=/\v/ skip=/\v.*/ end=/\v<;>/ contains=@factorComment -syn region factorIn start=/\v/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment -syn region factorInstance start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment keepend -syn region factorIntersection start=/\v/ skip=/\v.*/ end=/\v<;>/ contains=@factorComment -syn region factorMain start=/\v/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment -syn region factorMixin start=/\v/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment -syn region factorPostpone start=/\v/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment -syn region factorQualified start=/\v/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment -syn region factorQualifiedWith start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment keepend -syn region factorRename start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+%(\_\s+%(!>.*)?)+\=\>%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment keepend -syn region factorSingleton start=/\v/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment -syn region factorSingletons start=/\v/ skip=/\v.*/ end=/\v<;>/ contains=@factorComment -syn region factorSlot start=/\v/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment -syn region factorSymbol start=/\v/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment -syn region factorSymbols start=/\v/ skip=/\v.*/ end=/\v<;>/ contains=@factorComment -syn region factorUnion start=/\v/ skip=/\v.*/ end=/\v<;>/ contains=@factorComment -syn region factorUnuse start=/\v/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment -syn region factorUse start=/\v/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment -syn region factorUsing start=/\v/ skip=/\v.*/ end=/\v<;>/ contains=@factorComment - -syn cluster factorWordOps contains=factorConstant,factorAlias,factorSingleton,factorSingletons,factorSymbol,factorSymbols,factorPostpone,factorDefer,factorForget,factorMixin,factorInstance,factorHook,factorMain,factorConstructor +syn region factorAlias start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment keepend +syn region factorAlien start=/\v/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment,@factorHexNoRadix +syn region factorConstant start=/\v/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment +syn region factorDefer start=/\v/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment +syn region factorExclude start=/\v/ skip=/\v.*/ end=/\v<;>/ contains=@factorComment +syn region factorForget start=/\v/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment +syn region factorFrom start=/\v/ skip=/\v.*/ end=/\v<;>/ contains=@factorComment +syn region factorIn start=/\v/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment +syn region factorInstance start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment keepend +syn region factorIntersection start=/\v/ skip=/\v.*/ end=/\v<;>/ contains=@factorComment +syn region factorMain start=/\v/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment +syn region factorMixin start=/\v/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment +syn region factorPostpone start=/\v/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment +syn region factorQualified start=/\v/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment +syn region factorQualifiedWith start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment keepend +syn region factorRename start=/\v/ skip=/\v.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+%(\_\s+%(!>.*)?)+\=\>%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment keepend +syn region factorSingleton start=/\v/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment +syn region factorSingletons start=/\v/ skip=/\v.*/ end=/\v<;>/ contains=@factorComment +syn region factorSlot start=/\v/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment +syn region factorSymbol start=/\v/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment +syn region factorSymbols start=/\v/ skip=/\v.*/ end=/\v<;>/ contains=@factorComment +syn region factorUnion start=/\v/ skip=/\v.*/ end=/\v<;>/ contains=@factorComment +syn region factorUnuse start=/\v/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment +syn region factorUse start=/\v/ skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment +syn region factorUsing start=/\v/ skip=/\v.*/ end=/\v<;>/ contains=@factorComment + +syn cluster factorWordOps contains=factorConstant,factorAlias,factorSingleton,factorSingletons,factorSymbol,factorSymbols,factorPostpone,factorDefer,factorForget,factorMixin,factorInstance,factorHook,factorMain " HELP: " ARTICLE: @@ -378,29 +376,17 @@ if !exists('g:factor_syn_no_init') HiLink factorStackEffectType Type HiLink factorInclude Include HiLink factorWord Keyword - HiLink factorCall Keyword HiLink factorCallDelims Keyword HiLink factorCallNextMethod Keyword HiLink factorOperator Operator HiLink factorFrySpecifier Operator HiLink factorBoolean Boolean HiLink factorBreakpoint Debug - HiLink factorDefn Typedef HiLink factorDefnDelims Typedef - HiLink factorMethod Typedef - HiLink factorMethodDelims Typedef - HiLink factorLocalsMethodDelims Typedef - HiLink factorGeneric Typedef - HiLink factorGenericN Typedef - HiLink factorConstructor Typedef - HiLink factorConstructor2 Typedef + HiLink factorDeclDelims Typedef HiLink factorPrivate Special HiLink factorPDefnDelims Special - HiLink factorPMethodDelims Special - HiLink factorPLocalsMethodDelims Special - HiLink factorPGeneric Special - HiLink factorPGenericN Special - HiLink factorPHook Special + HiLink factorPDeclDelims Special HiLink factorEscape SpecialChar HiLink factorString String HiLink factorStringDelims factorString -- 2.34.1