fix and improvements
This commit is contained in:
+83
-60
@@ -11,47 +11,61 @@ set cpo&vim
|
||||
syn case ignore
|
||||
|
||||
# Keywords
|
||||
syn keyword tslHeader program function procedure nextgroup=tslFuncName skipwhite
|
||||
syn keyword tslBuiltinVar paramcount realparamcount params
|
||||
syn keyword tslBuiltinVar system thisfunction tslassigning
|
||||
syn keyword tslBuiltinVar likeeps likeepsrate
|
||||
# 程序结构声明
|
||||
syn keyword tslProgramStructure program function procedure nextgroup=tslFuncName skipwhite
|
||||
syn keyword tslModuleStructure unit uses implementation interface initalization finalization
|
||||
|
||||
syn keyword tslConditional else if
|
||||
syn keyword tslStatement begin end then
|
||||
syn keyword tslStatement this with exit
|
||||
syn keyword tslStatement weakref autoref namespace
|
||||
syn keyword tslInterface unit uses implementation interface initalization finalization
|
||||
syn keyword tslRepeat for while do downto step until repeat to
|
||||
syn keyword tslBranch break continue
|
||||
# 数据类型
|
||||
syn keyword tslPrimitiveType string integer boolean int64 real array
|
||||
|
||||
# 类型系统和面向对象
|
||||
syn keyword tslClassType type class fakeclass new
|
||||
syn keyword tslClassModifier override overload virtual property self inherited
|
||||
syn keyword tslAccessModifier public protected private published
|
||||
syn keyword tslConstructor create destroy operator
|
||||
syn keyword tslReferenceModifier weakref autoref
|
||||
syn keyword tslPropertyAccessor read write
|
||||
|
||||
# 变量和常量修饰符
|
||||
syn keyword tslVariableModifier external const out var
|
||||
syn keyword tslScopeModifier global static
|
||||
|
||||
# 控制流
|
||||
syn keyword tslConditional if else then case of
|
||||
syn keyword tslLoop for while do downto step until repeat to
|
||||
syn keyword tslBranch break continue goto label exit
|
||||
syn keyword tslReturn return debugreturn debugrunenv debugrunenvdo
|
||||
syn keyword tslLabel case of goto label
|
||||
|
||||
syn keyword tslOperator write read
|
||||
syn keyword tslOperator union minus union2
|
||||
syn keyword tslShiftOperator ror rol shr shl
|
||||
# 程序块结构
|
||||
syn keyword tslBlock begin end with
|
||||
syn keyword tslNamespace namespace
|
||||
|
||||
# 异常处理
|
||||
syn keyword tslException except raise try finally exceptobject
|
||||
# 运算符
|
||||
syn keyword tslLogicOperator and in is not or
|
||||
syn keyword tslArithmOperator div mod
|
||||
syn keyword tslBitwiseOperator ror rol shr shl
|
||||
syn keyword tslSetOperator union minus union2
|
||||
# SQL相关关键字
|
||||
syn keyword tslSqlCommand select vselect sselect update delete mselect
|
||||
syn keyword tslSqlClause sqlin from where group by order distinct join
|
||||
syn keyword tslSqlOperator like on set
|
||||
# 系统相关
|
||||
syn keyword tslSystemKeyword setuid sudo
|
||||
syn keyword tslCallingConvention cdecl pascal stdcall safecall fastcall register
|
||||
# 内置变量
|
||||
syn keyword tslBuiltinVar paramcount realparamcount params
|
||||
syn keyword tslBuiltinVar system tslassigning
|
||||
syn keyword tslBuiltinVar likeeps likeepsrate
|
||||
# 内置函数
|
||||
syn keyword tslBuiltinFunction echo mtic mtoc
|
||||
|
||||
syn keyword tslException except raise try finally exceptobject
|
||||
# 常量
|
||||
syn keyword tslBoolean false true
|
||||
syn keyword tslNil nil
|
||||
syn keyword tslNull nil
|
||||
syn keyword tslMathConstant inf nan
|
||||
|
||||
syn keyword tslType string integer boolean int64 real array
|
||||
syn keyword tslBuiltins echo mtic mtoc this
|
||||
syn keyword tslBuiltins inf nan
|
||||
syn keyword tslBuiltins external const out var
|
||||
|
||||
syn keyword tslSql select vselect sselect update delete mselect
|
||||
syn keyword tslSqlOperator sqlin from where group by like order
|
||||
syn keyword tslSqlOperator distinct join on set
|
||||
|
||||
syn keyword tslOther setuid sudo
|
||||
syn keyword tslCallFunc cdecl pascal stdcall safecall fastcall register
|
||||
syn keyword tslScope global static
|
||||
syn keyword tslClass type class fakeclass new
|
||||
syn keyword tslClassModifier override overload virtual property self inherited
|
||||
syn keyword tslConstruct create destroy operator
|
||||
syn keyword tslAccess public protected private published
|
||||
syn keyword tslTodo FIXME NOTE NOTES TODO XXX contained
|
||||
|
||||
# Function definitions
|
||||
@@ -73,8 +87,8 @@ 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 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
|
||||
|
||||
# 匹配完整的属性链
|
||||
@@ -132,11 +146,44 @@ syn match tslNumber '\<\d\+\.\%([eE][+-]\=\d\+\)\=[jJ]\=\%(\W\|$\)\@='
|
||||
syn match tslNumber '\%(^\|\W\)\zs\d*\.\d\+\%([eE][+-]\=\d\+\)\=[jJ]\=\>'
|
||||
|
||||
# Highlight links
|
||||
hi def link tslProgramStructure Statement
|
||||
hi def link tslModuleStructure Statement
|
||||
hi def link tslPrimitiveType Type
|
||||
hi def link tslClassType Statement
|
||||
hi def link tslClassModifier Identifier
|
||||
hi def link tslAccessModifier Statement
|
||||
hi def link tslPropertyAccessor Operator
|
||||
hi def link tslConstructor Special
|
||||
hi def link tslVariableModifier StorageClass
|
||||
hi def link tslScopeModifier StorageClass
|
||||
hi def link tslReferenceModifier StorageClass
|
||||
hi def link tslConditional Conditional
|
||||
hi def link tslLoop Repeat
|
||||
hi def link tslBranch Conditional
|
||||
hi def link tslReturn Statement
|
||||
hi def link tslBlock Statement
|
||||
hi def link tslNamespace Statement
|
||||
hi def link tslException Exception
|
||||
hi def link tslLogicOperator Operator
|
||||
hi def link tslArithmOperator Operator
|
||||
hi def link tslBitwiseOperator Operator
|
||||
hi def link tslSetOperator Operator
|
||||
hi def link tslSqlCommand Keyword
|
||||
hi def link tslSqlClause Special
|
||||
hi def link tslSqlOperator Special
|
||||
hi def link tslSystemKeyword Special
|
||||
hi def link tslCallingConvention Special
|
||||
hi def link tslBuiltinVar Constant
|
||||
hi def link tslBuiltinFunction Constant
|
||||
hi def link tslBoolean Boolean
|
||||
hi def link tslNull Constant
|
||||
hi def link tslMathConstant Number
|
||||
|
||||
# 其他元素的高亮链接保持不变
|
||||
hi def link tslClassName Type
|
||||
hi def link tslDot Operator
|
||||
hi def link tslPropertyName Special
|
||||
|
||||
hi def link tslHeader Statement
|
||||
hi def link tslFuncName Function
|
||||
hi def link tslTypeNameInFunc Type
|
||||
hi def link tslParam Identifier
|
||||
@@ -153,38 +200,14 @@ hi def link tslCallParam Identifier
|
||||
hi def link tslCallValue Type
|
||||
hi def link tslCallSep Delimiter
|
||||
|
||||
hi def link tslBuiltinVar Constant
|
||||
hi def link tslConditional Conditional
|
||||
hi def link tslStatement Statement
|
||||
hi def link tslInterface Statement
|
||||
hi def link tslRepeat Repeat
|
||||
hi def link tslBranch Conditional
|
||||
hi def link tslReturn Statement
|
||||
hi def link tslLabel Label
|
||||
hi def link tslOperator Operator
|
||||
hi def link tslDelimiter Delimiter
|
||||
hi def link tslException Exception
|
||||
hi def link tslBoolean Boolean
|
||||
hi def link tslNil Constant
|
||||
hi def link tslBuiltins Constant
|
||||
hi def link tslShiftOperator Operator
|
||||
hi def link tslLogicOperator Operator
|
||||
hi def link tslArithmOperator Operator
|
||||
hi def link tslSql Keyword
|
||||
hi def link tslSqlOperator Special
|
||||
hi def link tslOther Special
|
||||
hi def link tslScope StorageClass
|
||||
hi def link tslClass Statement
|
||||
hi def link tslClassModifier Identifier
|
||||
hi def link tslConstruct Special
|
||||
hi def link tslAccess Statement
|
||||
hi def link tslTodo Todo
|
||||
hi def link tslComment Comment
|
||||
hi def link tslString String
|
||||
hi def link tslRawString String
|
||||
hi def link tslQuotes String
|
||||
hi def link tslNumber Number
|
||||
hi def link tslType Type
|
||||
|
||||
b:current_syntax = "tsl"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user