@@ -6,7 +6,7 @@ syntax region jsFlowExactObject contained matchgroup=jsFlowNoise start=/{|/
66syntax region jsFlowParens contained matchgroup =jsFlowNoise start =/ (/ end =/ )/ contains =@jsFlowCluster keepend fold
77syntax match jsFlowNoise contained / [:;,<>]/
88syntax keyword jsFlowType contained boolean number string null void any mixed JSON array Function object array bool class
9- syntax keyword jsFlowTypeof contained typeof skipempty skipempty nextgroup =jsFlowTypeCustom,jsFlowType
9+ syntax keyword jsFlowTypeof contained typeof skipempty skipwhite nextgroup =jsFlowTypeCustom,jsFlowType
1010syntax match jsFlowTypeCustom contained / [0-9a-zA-Z_.]*/ skipwhite skipempty nextgroup =jsFlowGroup
1111syntax region jsFlowGroup contained matchgroup =jsFlowNoise start =/ </ end =/ >/ contains =@jsFlowCluster
1212syntax region jsFlowArrowArguments contained matchgroup =jsFlowNoise start =/ (/ end =/ )\% (\s *=>\)\@ =/ oneline skipwhite skipempty nextgroup =jsFlowArrow contains =@jsFlowCluster
@@ -26,6 +26,7 @@ syntax match jsFlowReturnMaybe contained /?/ skipwhite skipempty nextgroup=
2626syntax region jsFlowReturnGroup contained matchgroup =jsFlowNoise start =/ </ end =/ >/ contains =@jsFlowCluster skipwhite skipempty nextgroup =jsFuncBlock,jsFlowReturnOrOp
2727syntax match jsFlowReturnOrOp contained / \s *|\s */ skipwhite skipempty nextgroup =@jsFlowReturnCluster
2828syntax match jsFlowWildcardReturn contained / */ skipwhite skipempty nextgroup =jsFuncBlock
29+ syntax keyword jsFlowTypeofReturn contained typeof skipempty skipwhite nextgroup =@jsFlowReturnCluster
2930
3031syntax region jsFlowFunctionGroup contained matchgroup =jsFlowNoise start =/ </ end =/ >/ contains =@jsFlowCluster skipwhite skipempty nextgroup =jsFuncArgs
3132syntax region jsFlowClassGroup contained matchgroup =jsFlowNoise start =/ </ end =/ >/ contains =@jsFlowCluster skipwhite skipempty nextgroup =jsClassBlock
@@ -41,8 +42,8 @@ syntax keyword jsFlowDeclare declare skipwhite skipempty nextgr
4142syntax match jsFlowClassProperty contained / \< [0-9a-zA-Z_$]*\> :\@ =/ skipwhite skipempty nextgroup =jsFlowClassDef containedin =jsClassBlock
4243syntax region jsFlowClassDef contained start =/ :/ end =/ \% (\s *[,=;)\n ]\)\@ =/ contains =@jsFlowCluster skipwhite skipempty nextgroup =jsClassValue
4344
44- syntax region jsFlowModule contained start =/ module/ end =/ {\@ =/ skipempty skipempty nextgroup =jsFlowDeclareBlock contains =jsString
45- syntax region jsFlowInterface contained start =/ interface/ end =/ {\@ =/ skipempty skipempty nextgroup =jsFlowInterfaceBlock contains =@jsFlowCluster
45+ syntax region jsFlowModule contained start =/ module/ end =/ {\@ =/ skipempty skipwhite nextgroup =jsFlowDeclareBlock contains =jsString
46+ syntax region jsFlowInterface contained start =/ interface/ end =/ {\@ =/ skipempty skipwhite nextgroup =jsFlowInterfaceBlock contains =@jsFlowCluster
4647syntax region jsFlowDeclareBlock contained matchgroup =jsFlowNoise start =/ {/ end =/ }/ contains =jsFlowDeclare,jsFlowNoise fold
4748
4849" NOTE: It appears the nextgroup was causing a ton of breakages... testing it
@@ -53,7 +54,7 @@ syntax region jsFlowInterfaceBlock contained matchgroup=jsFlowNoise start=/{/ e
5354
5455syntax region jsFlowParenAnnotation contained start =/ :/ end =/ [,=)]\@ =/ containedin =jsParen contains =@jsFlowCluster
5556
56- syntax cluster jsFlowReturnCluster contains =jsFlowNoise,jsFlowReturnObject,jsFlowReturnArray,jsFlowReturnKeyword,jsFlowReturnGroup,jsFlowReturnMaybe,jsFlowReturnOrOp,jsFlowWildcardReturn,jsFlowReturnArrow
57+ syntax cluster jsFlowReturnCluster contains =jsFlowNoise,jsFlowReturnObject,jsFlowReturnArray,jsFlowReturnKeyword,jsFlowReturnGroup,jsFlowReturnMaybe,jsFlowReturnOrOp,jsFlowWildcardReturn,jsFlowReturnArrow,jsFlowTypeofReturn
5758syntax cluster jsFlowCluster contains =jsFlowArray,jsFlowObject,jsFlowExactObject,jsFlowNoise,jsFlowTypeof,jsFlowType,jsFlowGroup,jsFlowArrowArguments,jsFlowMaybe,jsFlowParens,jsFlowOrOperator,jsFlowWildcard
5859
5960if version >= 508 || ! exists (" did_javascript_syn_inits" )
@@ -69,6 +70,7 @@ if version >= 508 || !exists("did_javascript_syn_inits")
6970 HiLink jsFlowType Type
7071 HiLink jsFlowTypeCustom PreProc
7172 HiLink jsFlowTypeof PreProc
73+ HiLink jsFlowTypeofReturn PreProc
7274 HiLink jsFlowArray PreProc
7375 HiLink jsFlowObject PreProc
7476 HiLink jsFlowExactObject PreProc
0 commit comments