format cpp and update tsl.vim

This commit is contained in:
csh
2025-06-24 18:20:37 +08:00
parent b339df7bc5
commit d9beeb82a6
3 changed files with 41 additions and 39 deletions
+20 -21
View File
@@ -13,7 +13,7 @@ syn case ignore
# Keywords
# 程序结构声明
syn keyword tslProgramStructure program function procedure nextgroup=tslFuncName skipwhite
syn keyword tslModuleStructure unit uses implementation interface initalization finalization
syn keyword tslModuleStructure unit uses implementation interface initialization finalization
# 数据类型
syn keyword tslPrimitiveType string integer boolean int64 real array
@@ -87,9 +87,9 @@ syn match tslReturnType ':\s*[^;]*' contained contains=tslColon
syn match tslParamSep '[;,]' contained
syn match tslColon ':' contained
syn match tslVarDecl '\(?\s*\)\@<!\h\w*\s*:=\@!\s*[^;?]*;' contains=tslVarName,tslVarType
syn match tslVarName '\(?\s*\)\@<!\h\w*\ze\s*:=\@!' contained
syn match tslVarType ':=\@!\s*[^;?]*' contained contains=tslColon
syn match tslVarDecl '\(?\s\)\@<!\h\w\s:=\@!\s[^;?];' contains=tslVarName,tslVarType
syn match tslVarName '\(?\s\)\@<!\h\w\ze\s:=\@!' contained
syn match tslVarType ':=\@!\s[^;?]' contained contains=tslColon
# 匹配完整的属性链
syn match tslPropertyChain '\h\w*\%(\.\h\w*\)\+' contains=tslObjectName,tslPropertyDot,tslPropertyName
@@ -99,31 +99,30 @@ syn match tslPropertyName '\.\@<=\h\w*\%(\ze\.\|\ze\s*[^(]\|\ze\s*$\)' contain
# Function calls
syn match tslFuncCallName '\%(\<\%(function\|procedure\)\s\+\%(\h\w*\.\)\?\)\@<!\h\w*\ze\s*('
\ containedin=ALLBUT,tslFuncParams,tslPropertyChain,tslFunction,tslFuncName,tslFuncNamePart
\ containedin=ALLBUT,tslFuncParams,tslPropertyChain,tslFunction,tslFuncName,tslFuncNamePart,tslComment,tslString,tslRawString
syn region tslFuncCall
\ start='\%(\<\h\w*\s*(\)'
\ end=')'
\ contains=tslCallParams,tslCallSep,tslCallValue,tslCallParam,tslString,tslNumber,tslIdentifier,tslOperator
\ start='\h\w*\s*(\zs'
\ end='\ze)'
\ contains=tslFuncCallName,tslFuncCall,tslNamedParam,tslPositionalParam,tslString,tslRawString,tslNumber,tslIdentifier,tslOperator,tslParamSep
\ transparent
syn region tslCallParams
\ start='\%(\<\h\w*\s*(\)\zs'
\ end='\ze)'
\ contained
\ contains=tslCallParam,tslCallValue,tslCallSep,tslString,tslNumber,tslIdentifier,tslOperator,tslFuncCall
syn match tslNamedParam '\h\w*\s*:\s*[^;,)]*' contained
\ contains=tslParamName,tslParamColon,tslParamValue
syn match tslParamName '\h\w*\ze\s*:' contained
syn match tslParamColon ':' contained
syn match tslParamValue ':\s*\zs[^;,)]*' contained
\ contains=tslString,tslNumber,tslIdentifier,tslOperator,tslFuncCall,tslFuncCallName
syn match tslPositionalParam '[^;,():]*' contained
\ contains=tslString,tslNumber,tslIdentifier,tslOperator,tslFuncCall,tslFuncCallName
syn match tslParamSep '[;,]' contained
syn match tslCallParam '\h\w*\ze\s*:' contained
syn match tslCallValue ':\s*\zs[^;)]*' contained
syn match tslCallValue
\ ':\s*\zs\\%([^;,)]\+\|.\{-}\%([;,)]\|$\))'
\ contained
\ contains=tslString,tslNumber,tslIdentifier,tslOperator,tslFunctionCall
syn match tslCallSep '[;,]' contained
# Operators and delimiters
syn match tslOperator '[+\-*/<>=!&|^~%]'
syn match tslOperator ':='
syn match tslDelimiter '[()[\]{},;:.@?]'
# Comments