diff options
Diffstat (limited to 'syntax/basic')
| -rw-r--r-- | syntax/basic/identifiers.vim | 50 | ||||
| -rw-r--r-- | syntax/basic/keyword.vim | 12 | 
2 files changed, 54 insertions, 8 deletions
| diff --git a/syntax/basic/identifiers.vim b/syntax/basic/identifiers.vim index 4ec713b7..6a7ba4b0 100644 --- a/syntax/basic/identifiers.vim +++ b/syntax/basic/identifiers.vim @@ -30,4 +30,54 @@ syntax region  typescriptFuncCallArg           contained matchgroup=typescriptPa  syntax region  typescriptEventFuncCallArg      contained matchgroup=typescriptParens start=/(/ end=/)/ contains=@typescriptEventExpression  syntax region  typescriptEventString           contained start=/\z(["']\)/  skip=/\\\\\|\\\z1\|\\\n/  end=/\z1\|$/ contains=typescriptASCII,@events +syntax region  typescriptDestructureString +  \ start=/\z(["']\)/  skip=/\\\\\|\\\z1\|\\\n/  end=/\z1\|$/ +  \ contains=typescriptASCII +  \ nextgroup=typescriptDestructureAs +  \ contained skipwhite skipempty + +syntax cluster typescriptVariableDeclarations +  \ contains=typescriptVariableDeclaration,@typescriptDestructures + +syntax match typescriptVariableDeclaration /[A-Za-z_$]\k*/ +  \ nextgroup=typescriptTypeAnnotation,typescriptAssign +  \ contained skipwhite skipempty + +syntax cluster typescriptDestructureVariables contains= +  \ typescriptRestOrSpread, +  \ typescriptDestructureComma, +  \ typescriptDestructureLabel, +  \ typescriptDestructureVariable, +  \ @typescriptDestructures + +syntax match typescriptDestructureVariable    /[A-Za-z_$]\k*/ contained +  \ nextgroup=typescriptDefaultParam +  \ contained skipwhite skipempty + +syntax match typescriptDestructureLabel       /[A-Za-z_$]\k*\ze\_s*:/ +  \ nextgroup=typescriptDestructureAs +  \ contained skipwhite skipempty + +syntax match typescriptDestructureAs /:/ +  \ nextgroup=typescriptDestructureVariable,@typescriptDestructures +  \ contained skipwhite skipempty + +syntax match typescriptDestructureComma /,/ contained + +syntax cluster typescriptDestructures contains= +  \ typescriptArrayDestructure, +  \ typescriptObjectDestructure + +syntax region typescriptArrayDestructure matchgroup=typescriptBraces +  \ start=/\[/ end=/]/ +  \ contains=@typescriptDestructureVariables,@typescriptComments +  \ nextgroup=typescriptTypeAnnotation,typescriptAssign +  \ transparent contained skipwhite skipempty fold + +syntax region typescriptObjectDestructure matchgroup=typescriptBraces +  \ start=/{/ end=/}/ +  \ contains=typescriptDestructureString,@typescriptDestructureVariables,@typescriptComments +  \ nextgroup=typescriptTypeAnnotation,typescriptAssign +  \ transparent contained skipwhite skipempty fold +  endif diff --git a/syntax/basic/keyword.vim b/syntax/basic/keyword.vim index 11639c43..a810b545 100644 --- a/syntax/basic/keyword.vim +++ b/syntax/basic/keyword.vim @@ -29,16 +29,12 @@ syntax keyword typescriptIdentifier            arguments this super    \ nextgroup=@afterIdentifier  syntax keyword typescriptVariable              let var -  \ nextgroup=typescriptVariableDeclaration -  \ skipwhite skipempty skipnl +  \ nextgroup=@typescriptVariableDeclarations +  \ skipwhite skipempty  syntax keyword typescriptVariable const -  \ nextgroup=typescriptEnum,typescriptVariableDeclaration -  \ skipwhite - -syntax match typescriptVariableDeclaration /[A-Za-z_$]\k*/ -  \ nextgroup=typescriptTypeAnnotation,typescriptAssign -  \ contained skipwhite skipempty skipnl +  \ nextgroup=typescriptEnum,@typescriptVariableDeclarations +  \ skipwhite skipempty  syntax region typescriptEnum matchgroup=typescriptEnumKeyword start=/enum / end=/\ze{/    \ nextgroup=typescriptBlock | 
