From d59cb0a6723802751d340426154b238e2894a73a Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Mon, 8 Jun 2020 12:03:54 -0700 Subject: [PATCH] misc/vim: change stack effects to not highlight when required This is due to optional requirement in some forms, for example M:. --- misc/vim/syntax/factor.vim | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/misc/vim/syntax/factor.vim b/misc/vim/syntax/factor.vim index de88fc8e9e..cd418c8ca5 100644 --- a/misc/vim/syntax/factor.vim +++ b/misc/vim/syntax/factor.vim @@ -114,19 +114,19 @@ syn match factorTodo /\v(TODO|FIXME|XXX):=/ contained syn cluster factorDefnContents contains=@factorCluster -syn region factorDefnDelims start=/\v<%(SYNTAX|%(MACRO|MEMO|TYPED)?:?):>/ skip=/\v/ end=/\v<\S+>/ contains=@factorComment nextgroup=factorStackEffectSkip contained +syn region factorDefnDelims start=/\v<%(SYNTAX|%(MACRO|MEMO|TYPED)?:?):>/ skip=/\v/ end=/\v<\S+>/ contains=@factorComment nextgroup=factorStackEffect contained syn region factorDefn start=/\v<%(SYNTAX|%(MACRO|MEMO|TYPED)?:?):>/ skip=/\v/ matchgroup=factorDefnDelims end=/\v<;>/ contains=factorDefnDelims,@factorDefnContents syn region factorMethod start=/\v/ skip=/\v/ matchgroup=factorDefnDelims end=/\v<;>/ contains=factorMethodDelims,@factorDefnContents -syn region factorMethodDelims start=/\v/ skip=/\v/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment nextgroup=factorStackEffectSkip contained -syn region factorGeneric start=/\v<%(GENERIC|MATH|PRIMITIVE):>/ skip=/\v/ end=/\v<\S+>/ contains=@factorComment nextgroup=factorStackEffectSkip -syn region factorGenericN start=/\v/ skip=/\v/ end=/\v<\S+%(\_\s+%(!>.*)?)+\d+>/ contains=@factorComment nextgroup=factorStackEffectSkip +syn region factorMethodDelims start=/\v/ skip=/\v/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment nextgroup=factorStackEffect contained +syn region factorGeneric start=/\v<%(GENERIC|MATH|PRIMITIVE):>/ skip=/\v/ end=/\v<\S+>/ contains=@factorComment nextgroup=factorStackEffect +syn region factorGenericN start=/\v/ skip=/\v/ end=/\v<\S+%(\_\s+%(!>.*)?)+\d+>/ contains=@factorComment nextgroup=factorStackEffect syn region factorPDefn start=/\v<%(SYNTAX|%(MACRO|MEMO|TYPED)?:?):>/ skip=/\v/ matchgroup=factorPDefnDelims end=/\v<;>/ contains=factorPDefnDelims,@factorDefnContents contained -syn region factorPDefnDelims start=/\v<%(SYNTAX|%(MACRO|MEMO|TYPED)?:?):>/ skip=/\v/ end=/\v<\S+>/ contains=@factorComment nextgroup=factorStackEffectSkip contained +syn region factorPDefnDelims start=/\v<%(SYNTAX|%(MACRO|MEMO|TYPED)?:?):>/ skip=/\v/ end=/\v<\S+>/ contains=@factorComment nextgroup=factorStackEffect contained syn region factorPMethod start=/\v/ skip=/\v/ matchgroup=factorPDefnDelims end=/\v<;>/ contains=factorPMethodDelims,@factorDefnContents contained -syn region factorPMethodDelims start=/\v/ skip=/\v/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment nextgroup=factorStackEffectSkip contained -syn region factorPGeneric start=/\v<%(GENERIC|MATH|PRIMITIVE):>/ skip=/\v/ end=/\v<\S+>/ contains=@factorComment nextgroup=factorStackEffectSkip contained -syn region factorPGenericN start=/\v/ skip=/\v/ end=/\v<\S+%(\_\s+%(!>.*)?)+\d+>/ contains=@factorComment nextgroup=factorStackEffectSkip contained +syn region factorPMethodDelims start=/\v/ skip=/\v/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment nextgroup=factorStackEffect contained +syn region factorPGeneric start=/\v<%(GENERIC|MATH|PRIMITIVE):>/ skip=/\v/ end=/\v<\S+>/ contains=@factorComment nextgroup=factorStackEffect contained +syn region factorPGenericN start=/\v/ skip=/\v/ end=/\v<\S+%(\_\s+%(!>.*)?)+\d+>/ contains=@factorComment nextgroup=factorStackEffect contained syn region None matchgroup=factorPrivate start=/\v<\/ end=/\v>/ contains=@factorDefnContents,factorPDefn,factorPMethod,factorPGeneric,factorPGenericN @@ -246,7 +246,7 @@ syn region factorDefer start=/\v/ skip=/\v/ end=/\v< syn region factorForget start=/\v/ skip=/\v/ end=/\v<\S+>/ contains=@factorComment syn region factorMixin start=/\v/ skip=/\v/ end=/\v<\S+>/ contains=@factorComment syn region factorInstance start=/\v/ skip=/\v/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment -syn region factorHook start=/\v/ skip=/\v/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment nextgroup=factorStackEffectSkip +syn region factorHook start=/\v/ skip=/\v/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment nextgroup=factorStackEffect syn region factorMain start=/\v/ skip=/\v/ end=/\v<\S+>/ contains=@factorComment syn region factorConstructor start=/\v/ skip=/\v/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment syn region factorAlien matchgroup=factorAlien start=/\v/ matchgroup=NONE skip=/\v/ end=/\v<\S+>/ contains=@factorComment,@factorHexNoRadixTrans @@ -268,15 +268,11 @@ syn cluster factorWordOps contains=factorConstant,factorAlias,factorSingleton, " LIBRARY: "#\ " -if !exists('g:factor_syn_no_error') - syn match factorStackEffectRequired /\v<\V(\@!\v\S+>/ contained -endif syn cluster factorStackEffectContents contains=@factorComment,factorStackEffectDelims,factorStackEffectVar,factorStackEffectType,factorStackEffectRowVar syn cluster factorStackEffect contains=factorStackEffect " Erroring on stack effects without a "--" separator would be nice. " Unfortunately, that sort of vacuous detection is above Vim's pay-grade, " especially when stack effects can be nested arbitrarily via types. -syn match factorStackEffectSkip /\v%(\_\s+%(!>.*)?)*/ nextgroup=factorStackEffectRequired,@factorStackEffect transparent contained syn region factorStackEffect matchgroup=factorStackEffectDelims start=/\v\V(\v>/ end=/\v<\V)\v>/ contains=@factorStackEffectContents syn match factorStackEffectVar /\v<\S+>/ contained " Note that ":!" parses to the "!" word and doesn't lex as a comment. @@ -367,7 +363,6 @@ if !exists('g:factor_syn_no_init') HiLink factorHexNoRadixError Error HiLink factorHexError Error HiLink factorOctError Error - HiLink factorStackEffectRequired Error HiLink factorStackEffectError Error endif -- 2.34.1