Skip to content

Commit 9648f31

Browse files
committed
Misc flow fixes
* Fixed typeof in return statements * Fixed some double `skipwhite` statements * Fixes pangloss#1159
1 parent 32a39ac commit 9648f31

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

extras/flow.vim

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ syntax region jsFlowExactObject contained matchgroup=jsFlowNoise start=/{|/
66
syntax region jsFlowParens contained matchgroup=jsFlowNoise start=/(/ end=/)/ contains=@jsFlowCluster keepend fold
77
syntax match jsFlowNoise contained /[:;,<>]/
88
syntax 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
1010
syntax match jsFlowTypeCustom contained /[0-9a-zA-Z_.]*/ skipwhite skipempty nextgroup=jsFlowGroup
1111
syntax region jsFlowGroup contained matchgroup=jsFlowNoise start=/</ end=/>/ contains=@jsFlowCluster
1212
syntax 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=
2626
syntax region jsFlowReturnGroup contained matchgroup=jsFlowNoise start=/</ end=/>/ contains=@jsFlowCluster skipwhite skipempty nextgroup=jsFuncBlock,jsFlowReturnOrOp
2727
syntax match jsFlowReturnOrOp contained /\s*|\s*/ skipwhite skipempty nextgroup=@jsFlowReturnCluster
2828
syntax match jsFlowWildcardReturn contained /*/ skipwhite skipempty nextgroup=jsFuncBlock
29+
syntax keyword jsFlowTypeofReturn contained typeof skipempty skipwhite nextgroup=@jsFlowReturnCluster
2930

3031
syntax region jsFlowFunctionGroup contained matchgroup=jsFlowNoise start=/</ end=/>/ contains=@jsFlowCluster skipwhite skipempty nextgroup=jsFuncArgs
3132
syntax region jsFlowClassGroup contained matchgroup=jsFlowNoise start=/</ end=/>/ contains=@jsFlowCluster skipwhite skipempty nextgroup=jsClassBlock
@@ -41,8 +42,8 @@ syntax keyword jsFlowDeclare declare skipwhite skipempty nextgr
4142
syntax match jsFlowClassProperty contained /\<[0-9a-zA-Z_$]*\>:\@=/ skipwhite skipempty nextgroup=jsFlowClassDef containedin=jsClassBlock
4243
syntax 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
4647
syntax 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

5455
syntax 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
5758
syntax cluster jsFlowCluster contains=jsFlowArray,jsFlowObject,jsFlowExactObject,jsFlowNoise,jsFlowTypeof,jsFlowType,jsFlowGroup,jsFlowArrowArguments,jsFlowMaybe,jsFlowParens,jsFlowOrOperator,jsFlowWildcard
5859

5960
if 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

Comments
 (0)