From 613eb886898bf7ba913a16874b0d9dbea5dc6c04 Mon Sep 17 00:00:00 2001 From: nodist Date: Sun, 2 Aug 2026 11:07:01 -0400 Subject: new syntax --- syntax/kpl.vim | 67 ++++++++++++++++++++++++++++++---------------------------- 1 file changed, 35 insertions(+), 32 deletions(-) diff --git a/syntax/kpl.vim b/syntax/kpl.vim index 835fe5e..3fbbb36 100644 --- a/syntax/kpl.vim +++ b/syntax/kpl.vim @@ -1,46 +1,49 @@ -syn match kplOperator "[~!$%&*\-+=|:<,>\./]\|`[a-z]\w*" contains=@NoSpell -hi def link kplOperator Operator +syn match kpl_operator "[$%~!&*\-+=|:<,>/]\|\.\.\|`[a-z]\w*" contains=@NoSpell +hi def link kpl_operator 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 kpl_action "[?@#^]" +hi def link kpl_action Special -syn match kplSemicolon ";" -hi def link kplSemicolon Removed +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 kplNumber "\%(\d_\d\|\d\)\+\%(\.\%(\d_\d\|\d\)\+\)\?" -hi def link kplNumber Number +syn match kpl_semicolon ";" +hi def link kpl_semicolon Removed -syn region kplString start=/"/ skip=/\\\\"/ end=/"/ -hi def link kplString String +syn match kpl_number "\%(\d_\d\|\d\)\+\%(\.\%(\d_\d\|\d\)\+\)\?" +hi def link kpl_number Number -syn match kplChar "'\\\?.'" contains=@NoSpell -hi def link kplChar Constant +syn region kpl_string start=/"/ skip=/\\\\"/ end=/"/ +hi def link kpl_string String -syn match kplVar "[a-z]\w*" contains=@NoSpell -hi def link kplVar Ignore +syn match kpl_char "'\\\?.'" contains=@NoSpell +hi def link kpl_char Added -syn match kplIgnore "\<_\w*" contains=@NoSpell -hi def link kplIgnore Comment +syn match kpl_var "[a-z]\w\{0,49}" contains=@NoSpell +hi def link kpl_var Ignore -syn match kplSymbol "\.\w\+" contains=@NoSpell -hi def link kplSymbol Identifier +syn match kpl_ignore "\<_\>" +hi def link kpl_ignore Comment -syn match kplType "[A-Z]\w*" contains=@NoSpell -hi def link kplType Type +syn match kpl_constant "_\w\{1,49}" contains=@NoSpell +hi def link kpl_constant Constant -syn match kplQualifiers "%[a-z]\w*" contains=@NoSpell -hi def link kplQualifiers Special +syn match kpl_symbol "\.\w\{1,50}" +hi def link kpl_symbol Identifier -syn match kplDefine "\[\|\]" -hi def link kplDefine Changed +syn match kpl_type "[A-Z]\w\{0,49}" contains=@NoSpell +hi def link kpl_type Type -syn match kplList "[()]" -hi def link kplList Directory +syn match kpl_define "\[\|\]" +hi def link kpl_define Changed -syn match kplAction "[?@#^{}]" -hi def link kplAction Function +syn match kpl_collection "[()]" +hi def link kpl_collection Directory + +syn match kpl_procedure "[{}]" +hi def link kpl_procedure Function -- cgit v1.2.3