syn match kpl_action "[?@#`]" hi def link kpl_action Special syn match kpl_operator "[$%~!&*\-+=|:<,>/]\|\.\.\|`[a-z]\w*" contains=@NoSpell hi def link kpl_operator Operator syn match kpl_todo contained "\" contains=@NoSpell syn match kpl_comment_line "\/\/.*$" contains=kpl_todo syn region kpl_comment_range start="/\*" end="\*/" contains=kpl_todo hi def link kpl_todo TODO hi def link kpl_comment_line Comment hi def link kpl_comment_range Comment syn match kpl_semicolon ";" hi def link kpl_semicolon Removed syn match kpl_number "\%(\d_\d\|\d\)\+\%(\.\%(\d_\d\|\d\)\+\)\?" hi def link kpl_number Number syn match kpl_character "'\\\?.'" contains=@NoSpell hi def link kpl_character Added syn region kpl_string start=/"/ skip=/\\\\"/ end=/"/ hi def link kpl_string String syn match kpl_var "[a-z]\w\{0,49}" contains=@NoSpell hi def link kpl_var Ignore syn match kpl_ignore "\<_\>" hi def link kpl_ignore Comment syn match kpl_constant "_\w\{1,49}" contains=@NoSpell hi def link kpl_constant Constant syn match kpl_type "[A-Z]\w\{0,49}" contains=@NoSpell hi def link kpl_type Type syn match kpl_tag "\.\w\{1,50}" hi def link kpl_tag Identifier syn match kpl_block "[{}]" hi def link kpl_block Function syn match kpl_collection "[()]" hi def link kpl_collection Directory syn match kpl_modifier "\[\|\]" hi def link kpl_modifier Changed