11syntax region jsFlowDefinition contained start =/ :/ end =/ \% (\s *[,=;)\n ]\)\@ =/ contains =@jsFlowCluster containedin =jsParen
2- syntax region jsFlowArgumentDef contained start =/ :/ end =/ \% (\s *[,)]\)\@ =/ contains =@jsFlowCluster
2+ syntax region jsFlowArgumentDef contained start =/ :/ end =/ \% (\s *[,)]\| => \@ ! \ )\@ =/ contains =@jsFlowCluster
33syntax region jsFlowArray contained matchgroup =jsFlowNoise start =/ \[ / end =/ \] / contains =@jsFlowCluster
44syntax region jsFlowObject contained matchgroup =jsFlowNoise start =/ {/ end =/ }/ contains =@jsFlowCluster
55syntax region jsFlowParens contained matchgroup =jsFlowNoise start =/ (/ end =/ )/ contains =@jsFlowCluster
@@ -12,14 +12,16 @@ syntax region jsFlowArrowArguments contained matchgroup=jsFlowNoise start=/(/
1212syntax match jsFlowArrow contained / =>/ skipwhite skipempty nextgroup =jsFlowType,jsFlowTypeCustom,jsFlowParens
1313syntax match jsFlowMaybe contained / ?/ skipwhite skipempty nextgroup =jsFlowType,jsFlowTypeCustom,jsFlowParens,jsFlowArrowArguments
1414syntax match jsFlowObjectKey contained / [0-9a-zA-Z_$?]*\(\s *:\)\@ =/ contains =jsFunctionKey,jsFlowMaybe skipwhite skipempty nextgroup =jsObjectValue containedin =jsObject
15+ syntax match jsFlowOrOperator contained / |/ skipwhite skipempty nextgroup =@jsFlowCluster
1516
1617syntax match jsFlowReturn contained / :\s */ contains =jsFlowNoise skipwhite skipempty nextgroup =@jsFlowReturnCluster
17- syntax region jsFlowReturnObject contained matchgroup =jsFlowNoise start =/ {/ end =/ }/ contains =@jsFlowCluster skipwhite skipempty nextgroup =jsFuncBlock
18- syntax region jsFlowReturnArray contained matchgroup =jsFlowNoise start =/ \[ / end =/ \] / contains =@jsFlowCluster skipwhite skipempty nextgroup =jsFuncBlock
19- syntax region jsFlowReturnParens contained matchgroup =jsFlowNoise start =/ (/ end =/ )/ contains =@jsFlowCluster skipwhite skipempty nextgroup =jsFuncBlock
20- syntax match jsFlowReturnKeyword contained / \k\+ / contains =jsFlowType,jsFlowTypeCustom skipwhite skipempty nextgroup =jsFlowReturnGroup,jsFuncBlock
18+ syntax region jsFlowReturnObject contained matchgroup =jsFlowNoise start =/ {/ end =/ }/ contains =@jsFlowCluster skipwhite skipempty nextgroup =jsFuncBlock,jsFlowReturnOrOp
19+ syntax region jsFlowReturnArray contained matchgroup =jsFlowNoise start =/ \[ / end =/ \] / contains =@jsFlowCluster skipwhite skipempty nextgroup =jsFuncBlock,jsFlowReturnOrOp
20+ syntax region jsFlowReturnParens contained matchgroup =jsFlowNoise start =/ (/ end =/ )/ contains =@jsFlowCluster skipwhite skipempty nextgroup =jsFuncBlock,jsFlowReturnOrOp
21+ syntax match jsFlowReturnKeyword contained / \k\+ / contains =jsFlowType,jsFlowTypeCustom skipwhite skipempty nextgroup =jsFlowReturnGroup,jsFuncBlock,jsFlowReturnOrOp
2122syntax match jsFlowReturnMaybe contained / ?/ skipwhite skipempty nextgroup =jsFlowReturnKeyword
22- syntax region jsFlowReturnGroup contained matchgroup =jsFlowNoise start =/ </ end =/ >/ contains =@jsFlowCluster skipwhite skipempty nextgroup =jsFuncBlock
23+ syntax region jsFlowReturnGroup contained matchgroup =jsFlowNoise start =/ </ end =/ >/ contains =@jsFlowCluster skipwhite skipempty nextgroup =jsFuncBlock,jsFlowReturnOrOp
24+ syntax match jsFlowReturnOrOp contained / \s *|\s */ skipwhite skipempty nextgroup =@jsFlowReturnCluster
2325
2426syntax region jsFlowFunctionGroup contained matchgroup =jsFlowNoise start =/ </ end =/ >/ contains =@jsFlowCluster skipwhite skipempty nextgroup =jsFuncArgs
2527syntax region jsFlowClassGroup contained matchgroup =jsFlowNoise start =/ </ end =/ >/ contains =@jsFlowCluster skipwhite skipempty nextgroup =jsClassBlock
@@ -39,8 +41,8 @@ syntax region jsFlowDeclareBlock contained matchgroup=jsFlowNoise start=/{/ e
3941
4042syntax region jsFlowInterfaceBlock contained matchgroup =jsFlowNoise start =/ {/ end =/ }/ contains =jsObjectKey,jsObjectKeyString,jsObjectKeyComputed,jsObjectSeparator,jsObjectFuncName,jsObjectMethodType,jsGenerator,jsComment,jsObjectStringKey,jsSpreadExpression,jsFlowNoise keepend
4143
42- syntax cluster jsFlowReturnCluster contains =jsFlowNoise,jsFlowReturnObject,jsFlowReturnArray,jsFlowReturnKeyword,jsFlowReturnGroup,jsFlowReturnMaybe
43- syntax cluster jsFlowCluster contains =jsFlowArray,jsFlowObject,jsFlowNoise,jsFlowTypeof,jsFlowType,jsFlowGroup,jsFlowArrowArguments,jsFlowMaybe,jsFlowParens
44+ syntax cluster jsFlowReturnCluster contains =jsFlowNoise,jsFlowReturnObject,jsFlowReturnArray,jsFlowReturnKeyword,jsFlowReturnGroup,jsFlowReturnMaybe,jsFlowReturnOrOp
45+ syntax cluster jsFlowCluster contains =jsFlowArray,jsFlowObject,jsFlowNoise,jsFlowTypeof,jsFlowType,jsFlowGroup,jsFlowArrowArguments,jsFlowMaybe,jsFlowParens,jsFlowOrOperator
4446
4547if version >= 508 || ! exists (" did_javascript_syn_inits" )
4648 if version < 508
@@ -79,5 +81,7 @@ if version >= 508 || !exists("did_javascript_syn_inits")
7981 HiLink jsFlowInterface PreProc
8082 HiLink jsFlowNoise Noise
8183 HiLink jsFlowObjectKey jsObjectKey
84+ HiLink jsFlowOrOperator PreProc
85+ HiLink jsFlowReturnOrOp jsFlowOrOperator
8286 delcommand HiLink
8387endif
0 commit comments