Improved stack effect highlighting in vim.
Delimiters and items in stack effect are highlighted separately, works on call( -- ) and execute( -- ) too.db4
parent
40c45e08ca
commit
8eea81b0d4
|
@ -48,8 +48,8 @@ syn keyword factorBoolean f t
|
||||||
syn keyword factorBreakpoint B
|
syn keyword factorBreakpoint B
|
||||||
syn keyword factorFrySpecifier @ _ contained
|
syn keyword factorFrySpecifier @ _ contained
|
||||||
syn keyword factorDeclaration delimiter deprecated final flushable foldable inline recursive
|
syn keyword factorDeclaration delimiter deprecated final flushable foldable inline recursive
|
||||||
syn match factorCallQuotation /\<call(\s\(\S*\s\)\?--\(\s\S*\)\?\s)\>/
|
syn match factorCallQuotation /\<call(\s\+\(\S*\s\+\)*--\(\s\+\S*\)*\s\+)\>/ contained contains=factorStackEffect
|
||||||
syn match factorExecute /\<execute(\s\(\S*\s\)\?--\(\s\S*\)\?\s)\>/
|
syn match factorExecute /\<execute(\s\+\(\S*\s\+\)*--\(\s\+\S*\)*\s\+)\>/ contained contains=factorStackEffect
|
||||||
syn keyword factorCallNextMethod call-next-method
|
syn keyword factorCallNextMethod call-next-method
|
||||||
|
|
||||||
syn keyword factorKeyword or 2bi 2tri while wrapper nip 4dip wrapper? bi* callstack>array both? hashcode die dupd callstack callstack? 3dup tri@ pick curry build ?execute 3bi prepose >boolean ?if clone eq? tri* ? = swapd 2over 2keep 3keep clear 2dup when not tuple? dup 2bi* 2tri* call tri-curry object bi@ do unless* if* loop bi-curry* drop when* assert= retainstack assert? -rot execute 2bi@ 2tri@ boa with either? 3drop bi curry? datastack until 3dip over 3curry tri-curry* tri-curry@ swap and 2nip throw bi-curry (clone) hashcode* compose 2dip if 3tri unless compose? tuple keep 2curry equal? assert tri 2drop most <wrapper> boolean? identity-hashcode identity-tuple? null new dip bi-curry@ rot xor identity-tuple boolean
|
syn keyword factorKeyword or 2bi 2tri while wrapper nip 4dip wrapper? bi* callstack>array both? hashcode die dupd callstack callstack? 3dup tri@ pick curry build ?execute 3bi prepose >boolean ?if clone eq? tri* ? = swapd 2over 2keep 3keep clear 2dup when not tuple? dup 2bi* 2tri* call tri-curry object bi@ do unless* if* loop bi-curry* drop when* assert= retainstack assert? -rot execute 2bi@ 2tri@ boa with either? 3drop bi curry? datastack until 3dip over 3curry tri-curry* tri-curry@ swap and 2nip throw bi-curry (clone) hashcode* compose 2dip if 3tri unless compose? tuple keep 2curry equal? assert tri 2drop most <wrapper> boolean? identity-hashcode identity-tuple? null new dip bi-curry@ rot xor identity-tuple boolean
|
||||||
|
@ -148,8 +148,11 @@ syn match factorMultiStringContents /.*/ contained
|
||||||
"syn match factorStackEffectErr /\<)\>/
|
"syn match factorStackEffectErr /\<)\>/
|
||||||
"syn region factorStackEffectErr start=/\<(\>/ end=/\<)\>/
|
"syn region factorStackEffectErr start=/\<(\>/ end=/\<)\>/
|
||||||
"syn region factorStackEffect start=/\<(\>/ end=/\<)\>/ contained
|
"syn region factorStackEffect start=/\<(\>/ end=/\<)\>/ contained
|
||||||
syn match factorStackEffect /\<(\s\(\S*\s\)\?--\(\s\S*\)\?\s)\>/ contained
|
syn match factorStackEffect /(\s\+\(\S*\s\+\)*--\(\s\+\S*\)*\s\+)\>/ contained contains=factorStackDelims,factorStackItems,factorCallExecuteDelim
|
||||||
syn match factorLiteralStackEffect /\<((\s\(\S*\s\)\?--\(\s\S*\)\?\s))\>/
|
syn match factorLiteralStackEffect /((\s\+\(\S*\s\+\)*--\(\s\+\S*\)*\s\+))\>/ contained contains=factorStackDelims,factorStackItems
|
||||||
|
syn match factorStackItems contained "\<\S\+\>"
|
||||||
|
syn keyword factorStackDelims contained ( ) (( )) --
|
||||||
|
syn match factorCallExecuteDelim contained /(\s/
|
||||||
|
|
||||||
"adapted from lisp.vim
|
"adapted from lisp.vim
|
||||||
if exists("g:factor_norainbow")
|
if exists("g:factor_norainbow")
|
||||||
|
@ -199,6 +202,9 @@ if version >= 508 || !exists("did_factor_syn_inits")
|
||||||
HiLink factorShebang PreProc
|
HiLink factorShebang PreProc
|
||||||
HiLink factorShebangErr Error
|
HiLink factorShebangErr Error
|
||||||
HiLink factorStackEffect Typedef
|
HiLink factorStackEffect Typedef
|
||||||
|
HiLink factorStackDelims Delimiter
|
||||||
|
HiLink factorCallExecuteDelim Delimiter
|
||||||
|
HiLink factorStackItems Identifier
|
||||||
HiLink factorLiteralStackEffect Typedef
|
HiLink factorLiteralStackEffect Typedef
|
||||||
HiLink factorTodo Todo
|
HiLink factorTodo Todo
|
||||||
HiLink factorInclude Include
|
HiLink factorInclude Include
|
||||||
|
|
Loading…
Reference in New Issue