diff options
Diffstat (limited to 'syntax/basic')
| -rw-r--r-- | syntax/basic/function.vim | 16 | 
1 files changed, 3 insertions, 13 deletions
| diff --git a/syntax/basic/function.vim b/syntax/basic/function.vim index e61d0275..aed182a7 100644 --- a/syntax/basic/function.vim +++ b/syntax/basic/function.vim @@ -22,27 +22,17 @@ syntax match   typescriptFuncName              contained /\K\k*/    \ nextgroup=@typescriptCallSignature    \ skipwhite -" destructuring ({ a: ee }) => -syntax match   typescriptArrowFuncDef          contained /(\(\s*\({\_[^}]*}\|\k\+\)\(:\_[^)]\)\?,\?\)\+)\s*=>/ -  \ contains=typescriptArrowFuncArg,typescriptArrowFunc -  \ nextgroup=@typescriptExpression,typescriptBlock -  \ skipwhite skipempty - -" matches `(a) =>` or `([a]) =>` or -" `( -"  a) =>` -syntax match   typescriptArrowFuncDef          contained /(\(\_s*[a-zA-Z\$_\[.]\_[^)]*\)*)\s*=>/ +syntax match   typescriptArrowFuncDef          contained /\K\k*\s*=>/    \ contains=typescriptArrowFuncArg,typescriptArrowFunc    \ nextgroup=@typescriptExpression,typescriptBlock    \ skipwhite skipempty -syntax match   typescriptArrowFuncDef          contained /\K\k*\s*=>/ +syntax match   typescriptArrowFuncDef          contained /(\%(\_[^()]\+\|(\_[^()]*)\)*)\_s*=>/    \ contains=typescriptArrowFuncArg,typescriptArrowFunc    \ nextgroup=@typescriptExpression,typescriptBlock    \ skipwhite skipempty -" TODO: optimize this pattern -syntax region   typescriptArrowFuncDef          contained start=/(\_[^(^)]*):/ end=/=>/ +syntax region  typescriptArrowFuncDef          contained start=/(\%(\_[^()]\+\|(\_[^()]*)\)*):/ end=/=>/    \ contains=typescriptArrowFuncArg,typescriptArrowFunc,typescriptTypeAnnotation    \ nextgroup=@typescriptExpression,typescriptBlock    \ skipwhite skipempty keepend | 
