" Vim syntax file
" Language: KAREL
-" Last Change: 2024-11-17
+" Last Change: 2026-05-28
" Maintainer: Kirill Morozov <kirill@robotix.pro>
" Credits: Jay Strybis for the initial implementation and Patrick Knosowski
" for a couple of fixes.
syn keyword karelClause EVAL FROM IN WHEN WITH
hi def link karelClause Keyword
-syn keyword karelConditional IF THEN ELSE ENDIF SELECT ENDSELECT CASE
+syn keyword karelConditional IF THEN ELSE ENDIF SELECT ENDSELECT CASE OF
hi def link karelConditional Conditional
-syn keyword karelRepeat WHILE DO ENDWHILE FOR
+syn keyword karelRepeat WHILE DO ENDWHILE FOR TO DOWNTO
hi def link karelRepeat Repeat
syn keyword karelProcedure ABORT_TASK ACT_SCREEN ACT_TBL ADD_BYNAMEPC ADD_DICT ADD_INTPC ADD_REALPC ADD_STRINGPC APPEND_NODE APPEND_QUEUE