syn match kplOperator "[~!$%&*\-+=|:'<,>\./]\|`[a-z]\w*" contains=@NoSpell hi def link kplOperator Operator syn match kplTodo contained "\" contains=@NoSpell syn match kplCommentLine "\/\/.*$" contains=kplTodo syn region kplCommentRange start="/\*" end="\*/" contains=kplTodo hi def link kplTodo TODO hi def link kplCommentLine Comment hi def link kplCommentRange Comment syn match kplSemicolon ";" hi def link kplSemicolon Comment syn match kplNumber "\%(\d_\d\|\d\)\+\%(\.\%(\d_\d\|\d\)\+\)\?" hi def link kplNumber Number syn region kplString start=/"/ skip=/\\\\"/ end=/"/ hi def link kplString String syn match kplVar "[a-z]\w*" contains=@NoSpell hi def link kplVar Ignore syn match kplIgnore "\<_\w*" contains=@NoSpell hi def link kplIgnore Comment syn match kplSymbol "\.\w\+" contains=@NoSpell hi def link kplSymbol Identifier syn match kplType "[A-Z]\w*" contains=@NoSpell hi def link kplType Type syn match kplQualifiers "Const\|Empty\|Lock\|Ref" contains=@NoSpell hi def link kplQualifiers Repeat syn match kplDefine "\[\|\]" hi def link kplDefine Define syn match kplList "[()]" hi def link kplList Special syn match kplAction "[?@#^{}]" hi def link kplAction Function