update tsl.vim
This commit is contained in:
parent
696618ff1d
commit
f109316580
42
vim/tsl.vim
42
vim/tsl.vim
|
|
@ -20,7 +20,7 @@ syn keyword tslPrimitiveType string integer boolean int64 real array
|
||||||
|
|
||||||
# 类型系统和面向对象
|
# 类型系统和面向对象
|
||||||
syn keyword tslClassType type class fakeclass new
|
syn keyword tslClassType type class fakeclass new
|
||||||
syn keyword tslClassModifier override overload virtual property self inherited
|
syn keyword tslClassModifier override overload virtual property inherited self
|
||||||
syn keyword tslAccessModifier public protected private published
|
syn keyword tslAccessModifier public protected private published
|
||||||
syn keyword tslConstructor create destroy operator
|
syn keyword tslConstructor create destroy operator
|
||||||
syn keyword tslReferenceModifier weakref autoref
|
syn keyword tslReferenceModifier weakref autoref
|
||||||
|
|
@ -66,15 +66,17 @@ syn keyword tslBoolean false true
|
||||||
syn keyword tslNull nil
|
syn keyword tslNull nil
|
||||||
syn keyword tslMathConstant inf nan
|
syn keyword tslMathConstant inf nan
|
||||||
|
|
||||||
|
# todo
|
||||||
syn keyword tslTodo FIXME NOTE NOTES TODO XXX contained
|
syn keyword tslTodo FIXME NOTE NOTES TODO XXX contained
|
||||||
|
|
||||||
# Function definitions
|
# Function definitions
|
||||||
syn match tslFuncName '\%(\h\w*\.\)\?\h\w*' contained nextgroup=tslFuncParams skipwhite contains=tslTypeNameInFunc,tslDotInFunc,tslFuncNamePart
|
syn match tslFuncName '\%(\h\w*\.\)\?\h\w*' contained nextgroup=tslFuncParams skipwhite contains=tslTypeNameInFunc,tslDotInFunc
|
||||||
syn match tslTypeNameInFunc '\h\w*\ze\.\h\w*' contained
|
syn match tslTypeNameInFunc '\h\w*\ze\.\h\w*' contained
|
||||||
syn match tslDotInFunc '\.' contained
|
syn match tslDotInFunc '\.' contained
|
||||||
syn match tslFuncName '\.\@<=\h\w*' contained
|
syn match tslFuncName '\.\@<=\h\w*' contained
|
||||||
|
|
||||||
syn region tslFuncParams
|
syn region tslFuncParams
|
||||||
|
\ matchgroup=Delimiter
|
||||||
\ start='('
|
\ start='('
|
||||||
\ end=')'
|
\ end=')'
|
||||||
\ contained
|
\ contained
|
||||||
|
|
@ -87,12 +89,8 @@ syn match tslReturnType ':\s*[^;]*' contained contains=tslColon
|
||||||
syn match tslParamSep '[;,]' contained
|
syn match tslParamSep '[;,]' contained
|
||||||
syn match tslColon ':' contained
|
syn match tslColon ':' contained
|
||||||
|
|
||||||
syn match tslVarDecl '\(?\s\)\@<!\h\w\s:=\@!\s[^;?];' contains=tslVarName,tslVarType
|
# Property chain
|
||||||
syn match tslVarName '\(?\s\)\@<!\h\w\ze\s:=\@!' contained
|
syn match tslPropertyChain '\h\w*\%(\.\h\w*\)\+\>' contains=tslObjectName,tslPropertyDot,tslPropertyName
|
||||||
syn match tslVarType ':=\@!\s[^;?]' contained contains=tslColon
|
|
||||||
|
|
||||||
# 匹配完整的属性链
|
|
||||||
syn match tslPropertyChain '\h\w*\%(\.\h\w*\)\+' contains=tslObjectName,tslPropertyDot,tslPropertyName
|
|
||||||
syn match tslObjectName '\h\w*\ze\.\h\w*' contained
|
syn match tslObjectName '\h\w*\ze\.\h\w*' contained
|
||||||
syn match tslPropertyDot '\.' contained
|
syn match tslPropertyDot '\.' contained
|
||||||
syn match tslPropertyName '\.\@<=\h\w*\%(\ze\.\|\ze\s*[^(]\|\ze\s*$\)' contained
|
syn match tslPropertyName '\.\@<=\h\w*\%(\ze\.\|\ze\s*[^(]\|\ze\s*$\)' contained
|
||||||
|
|
@ -107,7 +105,7 @@ syn region tslFuncCall
|
||||||
\ contains=tslFuncCallName,tslFuncCall,tslNamedParam,tslPositionalParam,tslString,tslRawString,tslNumber,tslIdentifier,tslOperator,tslParamSep
|
\ contains=tslFuncCallName,tslFuncCall,tslNamedParam,tslPositionalParam,tslString,tslRawString,tslNumber,tslIdentifier,tslOperator,tslParamSep
|
||||||
\ transparent
|
\ transparent
|
||||||
|
|
||||||
syn match tslNamedParam '\h\w*\s*:\s*[^;,)]*' contained
|
syn match tslNamedParam '\%((\|;\s*\)\zs\h\w*\s*:\s*[^;,)]*' contained
|
||||||
\ contains=tslParamName,tslParamColon,tslParamValue
|
\ contains=tslParamName,tslParamColon,tslParamValue
|
||||||
|
|
||||||
syn match tslParamName '\h\w*\ze\s*:' contained
|
syn match tslParamName '\h\w*\ze\s*:' contained
|
||||||
|
|
@ -118,8 +116,21 @@ syn match tslParamValue ':\s*\zs[^;,)]*' contained
|
||||||
syn match tslPositionalParam '[^;,():]*' contained
|
syn match tslPositionalParam '[^;,():]*' contained
|
||||||
\ contains=tslString,tslNumber,tslIdentifier,tslOperator,tslFuncCall,tslFuncCallName
|
\ contains=tslString,tslNumber,tslIdentifier,tslOperator,tslFuncCall,tslFuncCallName
|
||||||
|
|
||||||
syn match tslParamSep '[;,]' contained
|
# Variable declaration
|
||||||
|
syn match tslVarDeclWithTag '\]\@<=\s*\h\w*\ze\s*:\%(=\)\@!'
|
||||||
|
\ nextgroup=tslVarTypeDecl skipwhite
|
||||||
|
\ contains=tslVarName
|
||||||
|
|
||||||
|
syn match tslVarDeclStart '\%(^\s*\|;\s*\)\zs\h\w*\ze\s*:\%(=\)\@!'
|
||||||
|
\ nextgroup=tslVarTypeDecl skipwhite
|
||||||
|
\ contains=tslVarName
|
||||||
|
|
||||||
|
syn match tslVarName '\h\w*' contained
|
||||||
|
syn region tslVarTypeDecl
|
||||||
|
\ matchgroup=tslVarDelimiter start=':\%(=\)\@!' end=';'
|
||||||
|
\ contained keepend oneline
|
||||||
|
\ contains=tslVarType
|
||||||
|
syn match tslVarType '[^;]*' contained
|
||||||
|
|
||||||
# Operators and delimiters
|
# Operators and delimiters
|
||||||
syn match tslOperator '[+\-*/<>=!&|^~%]'
|
syn match tslOperator '[+\-*/<>=!&|^~%]'
|
||||||
|
|
@ -144,6 +155,7 @@ syn match tslNumber '\<\d\+[eE][+-]\=\d\+[jJ]\=\>'
|
||||||
syn match tslNumber '\<\d\+\.\%([eE][+-]\=\d\+\)\=[jJ]\=\%(\W\|$\)\@='
|
syn match tslNumber '\<\d\+\.\%([eE][+-]\=\d\+\)\=[jJ]\=\%(\W\|$\)\@='
|
||||||
syn match tslNumber '\%(^\|\W\)\zs\d*\.\d\+\%([eE][+-]\=\d\+\)\=[jJ]\=\>'
|
syn match tslNumber '\%(^\|\W\)\zs\d*\.\d\+\%([eE][+-]\=\d\+\)\=[jJ]\=\>'
|
||||||
|
|
||||||
|
|
||||||
# Highlight links
|
# Highlight links
|
||||||
hi def link tslProgramStructure Statement
|
hi def link tslProgramStructure Statement
|
||||||
hi def link tslModuleStructure Statement
|
hi def link tslModuleStructure Statement
|
||||||
|
|
@ -179,8 +191,8 @@ hi def link tslNull Constant
|
||||||
hi def link tslMathConstant Number
|
hi def link tslMathConstant Number
|
||||||
|
|
||||||
# 其他元素的高亮链接保持不变
|
# 其他元素的高亮链接保持不变
|
||||||
hi def link tslClassName Type
|
hi def link tslObjectName Type
|
||||||
hi def link tslDot Operator
|
hi def link tslPropertyDot Operator
|
||||||
hi def link tslPropertyName Special
|
hi def link tslPropertyName Special
|
||||||
|
|
||||||
hi def link tslFuncName Function
|
hi def link tslFuncName Function
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue