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