diff options
author | Adam Stankiewicz <sheerun@sher.pl> | 2020-08-06 13:22:17 +0200 |
---|---|---|
committer | Adam Stankiewicz <sheerun@sher.pl> | 2020-08-06 13:22:17 +0200 |
commit | 1e533e5982a9c80f262b09fbe94e1ac4555ad915 (patch) | |
tree | ed573a3e399a95c2c3baeb6a1371d4753357cecc /syntax/basic | |
parent | 56121b4e27cb48efb17be55a969b2f0d725266f8 (diff) | |
download | vim-polyglot-1e533e5982a9c80f262b09fbe94e1ac4555ad915.tar.gz vim-polyglot-1e533e5982a9c80f262b09fbe94e1ac4555ad915.zip |
Update
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 |