From 5ae87136d380f2a5f9e78b2e8130923e9eb5e77d Mon Sep 17 00:00:00 2001 From: Patrick Meiser-Knosowski Date: Fri, 26 Jan 2018 17:50:13 +0100 Subject: [PATCH 01/21] copied case insensitivity from vim-tp Does this really work? Just copied, not tested. --- ftdetect/karel.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ftdetect/karel.vim b/ftdetect/karel.vim index 00af346..102a7d1 100644 --- a/ftdetect/karel.vim +++ b/ftdetect/karel.vim @@ -1 +1 @@ -au BufNewFile,BufRead *.kl setf karel +au BufNewFile,BufRead \c*.kl setf karel From 0336465d445367a6264878e6974aafef8871db1f Mon Sep 17 00:00:00 2001 From: Patrick Meiser-Knosowski Date: Fri, 26 Jan 2018 18:03:29 +0100 Subject: [PATCH 02/21] added case instruction --- syntax/karel.vim | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/syntax/karel.vim b/syntax/karel.vim index 72b1a02..3b82f80 100644 --- a/syntax/karel.vim +++ b/syntax/karel.vim @@ -3,6 +3,7 @@ " Maintainer: Jay Strybis " URL: http://github.com/onerobotics/vim-karel " License: MIT +" Modified: Patrick Knosowski knosowski@graeff.de if exists("b:current_syntax") finish @@ -64,7 +65,7 @@ hi def link karelFunction Function syn keyword karelClause EVAL FROM IN WHEN WITH hi def link karelClause Keyword -syn keyword karelConditional IF THEN ELSE ENDIF SELECT ENDSELECT +syn keyword karelConditional IF THEN ELSE ENDIF SELECT ENDSELECT CASE hi def link karelConditional Conditional syn keyword karelRepeat WHILE DO ENDWHILE FOR From 8198f61d9f209151111213a83e70aa1a3e21e9f5 Mon Sep 17 00:00:00 2001 From: Patrick Meiser-Knosowski Date: Wed, 12 May 2021 17:35:14 +0200 Subject: [PATCH 03/21] Domain change in e-mail address --- syntax/karel.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/karel.vim b/syntax/karel.vim index 3b82f80..d2ac175 100644 --- a/syntax/karel.vim +++ b/syntax/karel.vim @@ -3,7 +3,7 @@ " Maintainer: Jay Strybis " URL: http://github.com/onerobotics/vim-karel " License: MIT -" Modified: Patrick Knosowski knosowski@graeff.de +" Modified: Patrick Knosowski knosowski@graeffrobotics.de if exists("b:current_syntax") finish From 6a0b35e2bea8a26f392db8205cdab3d7946af682 Mon Sep 17 00:00:00 2001 From: KnoP-01 Date: Mon, 18 Nov 2024 21:13:25 +0100 Subject: [PATCH 04/21] Add ftplugin with basic settings com, cms and sua --- ftplugin/karel.vim | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 ftplugin/karel.vim diff --git a/ftplugin/karel.vim b/ftplugin/karel.vim new file mode 100644 index 0000000..13913e5 --- /dev/null +++ b/ftplugin/karel.vim @@ -0,0 +1,30 @@ +" Fanuc Karel file type plugin for Vim +" Language: KAREL +" Maintainer: Patrick Meiser-Knosowski +" Version: 1.0.0 +" Last Change: 18. Nov 2024 +" +" Suggestions of improvement are very welcome. Please email me! +" +" ToDo's {{{ +" }}} ToDo's + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:keepcpo = &cpo +set cpo&vim + +setlocal comments=:-- +setlocal commentstring=--%s +setlocal suffixesadd+=.kl +setlocal suffixesadd+=.KL +let b:undo_ftplugin = "setlocal com< cms< sua<" + +let &cpo = s:keepcpo +unlet s:keepcpo + +" vim:sw=2 sts=2 et fdm=marker From c724b7ff31f0cdb259340a611e87ffa259b8708e Mon Sep 17 00:00:00 2001 From: KnoP-01 Date: Thu, 9 Apr 2026 10:47:00 +0200 Subject: [PATCH 05/21] Add missing keywords OF, TO and DOWNTO modified: syntax/karel.vim --- syntax/karel.vim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/syntax/karel.vim b/syntax/karel.vim index d2ac175..ceeb911 100644 --- a/syntax/karel.vim +++ b/syntax/karel.vim @@ -65,10 +65,10 @@ hi def link karelFunction Function 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 From 1116f6558cf0212d2b7fca160e4edc71ac7010ed Mon Sep 17 00:00:00 2001 From: KnoP-01 Date: Thu, 9 Apr 2026 10:52:27 +0200 Subject: [PATCH 06/21] New: Indent file new file: indent/Karel.vim --- indent/Karel.vim | 121 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 indent/Karel.vim diff --git a/indent/Karel.vim b/indent/Karel.vim new file mode 100644 index 0000000..a801fba --- /dev/null +++ b/indent/Karel.vim @@ -0,0 +1,121 @@ +" Vim indent file +" Language: Fanuc Karel +" Maintainer: Patrick Meiser-Knosowski +" Version: 0.0.1 +" Last Change: 09. Apr 2026 + +" Only load this indent file when no other was loaded. +if exists("b:did_indent") + finish +endif +let b:did_indent = 1 + +setlocal nolisp +setlocal nocindent +setlocal nosmartindent +setlocal autoindent +setlocal indentexpr=GetKarelIndent() +setlocal indentkeys=!^F,o,O,=~end,0=~else,0=~case,0=~until,0=~const,0=~type,0=~var,0=~begin +let b:undo_indent = "setlocal lisp< cindent< smartindent< autoindent< indentexpr< indentkeys<" + +if get(g:,'karelSpaceIndent',1) + " Use spaces, not tabs, for indention, 2 is enough. + " More or even tabs would waste valuable space on the teach pendant. + setlocal softtabstop=2 + setlocal shiftwidth=2 + setlocal expandtab + setlocal shiftround + let b:undo_indent = b:undo_indent." softtabstop< shiftwidth< expandtab< shiftround<" +endif + +" Only define the function once. +if exists("*GetKarelIndent") + finish +endif +let s:keepcpo = &cpo +set cpo&vim + +function GetKarelIndent() abort + + let currentLine = getline(v:lnum) + if currentLine =~? '\v^-- && !get(g:, 'karelCommentIndent', 0) + " If current line has a -- in column 1, keep zero indent. + " This may be useful if code is commented out at the first column. + return 0 + endif + + " Find a non-blank line above the current line. + let preNoneBlankLineNum = s:karelPreNoneBlank(v:lnum - 1) + if preNoneBlankLineNum == 0 + " At the start of the file use zero indent. + return 0 + endif + + let preNoneBlankLine = getline(preNoneBlankLineNum) + let ind = indent(preNoneBlankLineNum) + + " Define add 'shiftwidth' pattern + let addShiftwidthPattern = '\v^\s*(' + let addShiftwidthPattern ..= 'if>|while>|for>' + let addShiftwidthPattern ..= '|else>' + let addShiftwidthPattern ..= '|case>' + let addShiftwidthPattern ..= '|repeat>' + let addShiftwidthPattern ..= '|const>' + let addShiftwidthPattern ..= '|type>' + let addShiftwidthPattern ..= '|var>' + let addShiftwidthPattern ..= '|begin>' + let addShiftwidthPattern ..= '|routine>' + if get(g:, 'karelIndentBetweenPrg', 1) + let addShiftwidthPattern ..= '|program>' + endif + let addShiftwidthPattern ..= ')' + + " Define Subtract 'shiftwidth' pattern + let subtractShiftwidthPattern = '\v^\s*(' + let subtractShiftwidthPattern ..= 'end(if|while|for)?>' + let subtractShiftwidthPattern ..= '|else>' + let subtractShiftwidthPattern ..= '|case>|endselect>' + let subtractShiftwidthPattern ..= '|until>' + let subtractShiftwidthPattern ..= '|const>' + let subtractShiftwidthPattern ..= '|type>' + let subtractShiftwidthPattern ..= '|var>' + let subtractShiftwidthPattern ..= '|begin>' + let subtractShiftwidthPattern ..= ')' + + " Add shiftwidth + if preNoneBlankLine =~? addShiftwidthPattern + let ind += &sw + endif + + " Subtract shiftwidth + if currentLine =~? subtractShiftwidthPattern + let ind = ind - &sw + endif + + " First case after a select gets the indent of the select. + if currentLine =~? '\v^\s*case>' + \&& preNoneBlankLine =~? '\v^\s*select>' + let ind = ind + &sw + endif + + return ind +endfunction + +" This function works almost like prevnonblank() but handles &-headers, +" comments and continue instructions like blank lines +function s:karelPreNoneBlank(lnum) abort + + let nPreNoneBlank = prevnonblank(a:lnum) + + while nPreNoneBlank > 0 && getline(nPreNoneBlank) =~? '\v^\s*(\&\w\+|;|continue>)' + " Previous none blank line irrelevant. Look further aback. + let nPreNoneBlank = prevnonblank(nPreNoneBlank - 1) + endwhile + + return nPreNoneBlank +endfunction + +let &cpo = s:keepcpo +unlet s:keepcpo + +" vim:sw=2 sts=2 et From 9429ff80e516136d97ebd5048f9a05947b1c7679 Mon Sep 17 00:00:00 2001 From: KnoP-01 Date: Thu, 9 Apr 2026 10:54:21 +0200 Subject: [PATCH 07/21] Give credit to Kirill Morozov modified: ftplugin/karel.vim --- ftplugin/karel.vim | 1 + 1 file changed, 1 insertion(+) diff --git a/ftplugin/karel.vim b/ftplugin/karel.vim index 13913e5..c260f19 100644 --- a/ftplugin/karel.vim +++ b/ftplugin/karel.vim @@ -1,6 +1,7 @@ " Fanuc Karel file type plugin for Vim " Language: KAREL " Maintainer: Patrick Meiser-Knosowski +" Credits: Kirill Morozov " Version: 1.0.0 " Last Change: 18. Nov 2024 " From 521c8314d5c596432b47a88c569594e9e4869671 Mon Sep 17 00:00:00 2001 From: KnoP-01 Date: Thu, 9 Apr 2026 10:56:53 +0200 Subject: [PATCH 08/21] Fix .gitignore for vim modified: .gitignore --- .gitignore | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 1377554..f6e1a80 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,16 @@ -*.swp +# Swap +[._]*.s[a-v][a-z] +[._]*.sw[a-p] +[._]s[a-v][a-z] +[._]sw[a-p] + +# Session +Session.vim + +# Temporary +.netrwhist +*~ +temp_stash + +# Auto-generated tag files +doc/tags From 382d0ddbbaef50d83f4919789519b82ad2abb501 Mon Sep 17 00:00:00 2001 From: KnoP-01 Date: Thu, 9 Apr 2026 10:58:13 +0200 Subject: [PATCH 09/21] Add indent settings, optimize 'cms' and 'sua' - use two spaces to indent karel files - 'commentstring' add a space after -- - 'suffixesadd' can be set in one instruction modified: ftplugin/karel.vim --- ftplugin/karel.vim | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/ftplugin/karel.vim b/ftplugin/karel.vim index c260f19..2beebbf 100644 --- a/ftplugin/karel.vim +++ b/ftplugin/karel.vim @@ -2,8 +2,8 @@ " Language: KAREL " Maintainer: Patrick Meiser-Knosowski " Credits: Kirill Morozov -" Version: 1.0.0 -" Last Change: 18. Nov 2024 +" Version: 1.0.1 +" Last Change: 28. Jan 2026 " " Suggestions of improvement are very welcome. Please email me! " @@ -20,10 +20,17 @@ let s:keepcpo = &cpo set cpo&vim setlocal comments=:-- -setlocal commentstring=--%s -setlocal suffixesadd+=.kl -setlocal suffixesadd+=.KL -let b:undo_ftplugin = "setlocal com< cms< sua<" +setlocal commentstring=--\ %s +setlocal suffixesadd+=.kl,.KL + +" indent settings +setlocal softtabstop=2 " 4 spaces per tab key pressed +setlocal shiftwidth=2 " 4 spaces per indent level +setlocal expandtab " use spaces instead of tab +setlocal shiftround +setlocal autoindent + +let b:undo_ftplugin = "setlocal com< cms< sua< sts< sw< et< sr< ai<" let &cpo = s:keepcpo unlet s:keepcpo From d411d970efea1221176208aac3c860135e9863e1 Mon Sep 17 00:00:00 2001 From: KnoP-01 Date: Thu, 9 Apr 2026 11:32:58 +0200 Subject: [PATCH 10/21] Add comment about missing indent keywords STRUCTURE and USING is still not indented correctly modified: indent/Karel.vim --- indent/Karel.vim | 3 +++ 1 file changed, 3 insertions(+) diff --git a/indent/Karel.vim b/indent/Karel.vim index a801fba..0a0dad0 100644 --- a/indent/Karel.vim +++ b/indent/Karel.vim @@ -3,6 +3,9 @@ " Maintainer: Patrick Meiser-Knosowski " Version: 0.0.1 " Last Change: 09. Apr 2026 +" TODO: - add indent of 2.4.2 User-Defined Data Structures +" = STRUCTURE/ENDSTRUCTURE +" USING [,] DO/ENDUSING " Only load this indent file when no other was loaded. if exists("b:did_indent") From f91ed17a65606299848ae22bf331f06e7fc5985e Mon Sep 17 00:00:00 2001 From: KnoP-01 Date: Wed, 27 May 2026 15:08:14 +0200 Subject: [PATCH 11/21] Adds *.ls-files to suffixesadd modified: ftplugin/karel.vim --- ftplugin/karel.vim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ftplugin/karel.vim b/ftplugin/karel.vim index 2beebbf..ca5ed77 100644 --- a/ftplugin/karel.vim +++ b/ftplugin/karel.vim @@ -3,7 +3,7 @@ " Maintainer: Patrick Meiser-Knosowski " Credits: Kirill Morozov " Version: 1.0.1 -" Last Change: 28. Jan 2026 +" Last Change: 17. Apr 2026 " " Suggestions of improvement are very welcome. Please email me! " @@ -21,7 +21,7 @@ set cpo&vim setlocal comments=:-- setlocal commentstring=--\ %s -setlocal suffixesadd+=.kl,.KL +setlocal suffixesadd+=.kl,.KL,.ls,.LS " indent settings setlocal softtabstop=2 " 4 spaces per tab key pressed From bb2acf76f4e6e8e9958bb033f86e22ae199df0c2 Mon Sep 17 00:00:00 2001 From: KnoP-01 Date: Wed, 27 May 2026 15:08:49 +0200 Subject: [PATCH 12/21] Fixes s:karelPreNoneBlank() modified: indent/Karel.vim --- indent/Karel.vim | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/indent/Karel.vim b/indent/Karel.vim index 0a0dad0..e97d0b8 100644 --- a/indent/Karel.vim +++ b/indent/Karel.vim @@ -2,10 +2,11 @@ " Language: Fanuc Karel " Maintainer: Patrick Meiser-Knosowski " Version: 0.0.1 -" Last Change: 09. Apr 2026 +" Last Change: 15. Apr 2026 " TODO: - add indent of 2.4.2 User-Defined Data Structures " = STRUCTURE/ENDSTRUCTURE " USING [,] DO/ENDUSING +" FORM ... ENDFORM? " Only load this indent file when no other was loaded. if exists("b:did_indent") @@ -110,7 +111,7 @@ function s:karelPreNoneBlank(lnum) abort let nPreNoneBlank = prevnonblank(a:lnum) - while nPreNoneBlank > 0 && getline(nPreNoneBlank) =~? '\v^\s*(\&\w\+|;|continue>)' + while nPreNoneBlank > 0 && getline(nPreNoneBlank) =~? '\v^\s*(\&\w\+|--)' " Previous none blank line irrelevant. Look further aback. let nPreNoneBlank = prevnonblank(nPreNoneBlank - 1) endwhile From 65ebb095681c2b0b4de65a039cfbb2d533a74d7f Mon Sep 17 00:00:00 2001 From: KnoP-01 Date: Thu, 28 May 2026 12:45:07 +0200 Subject: [PATCH 13/21] Adopt header from kirillmorozov modified: syntax/karel.vim --- syntax/karel.vim | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/syntax/karel.vim b/syntax/karel.vim index ceeb911..d29f56f 100644 --- a/syntax/karel.vim +++ b/syntax/karel.vim @@ -1,9 +1,9 @@ " Vim syntax file -" Language: KAREL -" Maintainer: Jay Strybis -" URL: http://github.com/onerobotics/vim-karel -" License: MIT -" Modified: Patrick Knosowski knosowski@graeffrobotics.de +" Language: KAREL +" Last Change: 2024-11-17 +" Maintainer: Kirill Morozov +" Credits: Jay Strybis for the initial implementation and Patrick Knosowski +" for a couple of fixes. if exists("b:current_syntax") finish @@ -113,5 +113,4 @@ hi def link karelKeyword Keyword syn region karelComment start="--" end="$" hi def link karelComment Comment - let b:current_syntax = "karel" From 26de55a5caf1cfa75892f134ca6390b265d1e061 Mon Sep 17 00:00:00 2001 From: KnoP-01 Date: Thu, 28 May 2026 12:54:37 +0200 Subject: [PATCH 14/21] Delete check for Vim version < 600 modified: syntax/karel.vim --- syntax/karel.vim | 4 ---- 1 file changed, 4 deletions(-) diff --git a/syntax/karel.vim b/syntax/karel.vim index d29f56f..3d8fefd 100644 --- a/syntax/karel.vim +++ b/syntax/karel.vim @@ -9,10 +9,6 @@ if exists("b:current_syntax") finish endif -if version < 600 - syntax clear -endif - " KAREL is case-insensitive syntax case ignore From d9d5147d974665a0f278e4a4a89d67d55b20ca34 Mon Sep 17 00:00:00 2001 From: KnoP-01 Date: Thu, 28 May 2026 13:04:55 +0200 Subject: [PATCH 15/21] Add missing relevant indent items - using/endusing - condition/endcondition - structure/endstructure modified: indent/Karel.vim --- indent/Karel.vim | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/indent/Karel.vim b/indent/Karel.vim index e97d0b8..eac374f 100644 --- a/indent/Karel.vim +++ b/indent/Karel.vim @@ -1,12 +1,8 @@ " Vim indent file " Language: Fanuc Karel " Maintainer: Patrick Meiser-Knosowski -" Version: 0.0.1 -" Last Change: 15. Apr 2026 -" TODO: - add indent of 2.4.2 User-Defined Data Structures -" = STRUCTURE/ENDSTRUCTURE -" USING [,] DO/ENDUSING -" FORM ... ENDFORM? +" Version: 1.0.0 +" Last Change: 28. May 2026 " Only load this indent file when no other was loaded. if exists("b:did_indent") @@ -60,7 +56,7 @@ function GetKarelIndent() abort " Define add 'shiftwidth' pattern let addShiftwidthPattern = '\v^\s*(' - let addShiftwidthPattern ..= 'if>|while>|for>' + let addShiftwidthPattern ..= 'if>|while>|for>|using>|condition>|.*' let addShiftwidthPattern ..= '|else>' let addShiftwidthPattern ..= '|case>' let addShiftwidthPattern ..= '|repeat>' @@ -76,7 +72,7 @@ function GetKarelIndent() abort " Define Subtract 'shiftwidth' pattern let subtractShiftwidthPattern = '\v^\s*(' - let subtractShiftwidthPattern ..= 'end(if|while|for)?>' + let subtractShiftwidthPattern ..= 'end(if|while|for|using|condition|structure)?>' let subtractShiftwidthPattern ..= '|else>' let subtractShiftwidthPattern ..= '|case>|endselect>' let subtractShiftwidthPattern ..= '|until>' From e49f2ca2a832898167bffdf111c5173ebb9a85b9 Mon Sep 17 00:00:00 2001 From: KnoP-01 Date: Thu, 28 May 2026 14:49:35 +0200 Subject: [PATCH 16/21] renamed: indent/Karel.vim -> indent/karel.vim --- indent/{Karel.vim => karel.vim} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename indent/{Karel.vim => karel.vim} (100%) diff --git a/indent/Karel.vim b/indent/karel.vim similarity index 100% rename from indent/Karel.vim rename to indent/karel.vim From e27ea7d82dd99c6e541a5a52b87a0d8c4969f23a Mon Sep 17 00:00:00 2001 From: KnoP-01 Date: Thu, 28 May 2026 14:50:47 +0200 Subject: [PATCH 17/21] Delete empty TODO section modified: ftplugin/karel.vim --- ftplugin/karel.vim | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ftplugin/karel.vim b/ftplugin/karel.vim index ca5ed77..9a8da05 100644 --- a/ftplugin/karel.vim +++ b/ftplugin/karel.vim @@ -3,12 +3,10 @@ " Maintainer: Patrick Meiser-Knosowski " Credits: Kirill Morozov " Version: 1.0.1 -" Last Change: 17. Apr 2026 +" Last Change: 28. May 2026 " " Suggestions of improvement are very welcome. Please email me! " -" ToDo's {{{ -" }}} ToDo's " Only do this when not done yet for this buffer if exists("b:did_ftplugin") From e16b41310f227cfb90f93d3e08d87ecd139e9ee1 Mon Sep 17 00:00:00 2001 From: KnoP-01 Date: Thu, 28 May 2026 15:10:22 +0200 Subject: [PATCH 18/21] Get rid of superfluous cpo setting modified: ftplugin/karel.vim --- ftplugin/karel.vim | 6 ------ 1 file changed, 6 deletions(-) diff --git a/ftplugin/karel.vim b/ftplugin/karel.vim index 9a8da05..979787b 100644 --- a/ftplugin/karel.vim +++ b/ftplugin/karel.vim @@ -14,9 +14,6 @@ if exists("b:did_ftplugin") endif let b:did_ftplugin = 1 -let s:keepcpo = &cpo -set cpo&vim - setlocal comments=:-- setlocal commentstring=--\ %s setlocal suffixesadd+=.kl,.KL,.ls,.LS @@ -30,7 +27,4 @@ setlocal autoindent let b:undo_ftplugin = "setlocal com< cms< sua< sts< sw< et< sr< ai<" -let &cpo = s:keepcpo -unlet s:keepcpo - " vim:sw=2 sts=2 et fdm=marker From 84f845fe757018b48f7a4c337466fa84d7269608 Mon Sep 17 00:00:00 2001 From: KnoP-01 Date: Thu, 28 May 2026 15:11:48 +0200 Subject: [PATCH 19/21] Get rid of superfluous modeline modified: ftplugin/karel.vim --- ftplugin/karel.vim | 2 -- 1 file changed, 2 deletions(-) diff --git a/ftplugin/karel.vim b/ftplugin/karel.vim index 979787b..4ed3e25 100644 --- a/ftplugin/karel.vim +++ b/ftplugin/karel.vim @@ -26,5 +26,3 @@ setlocal shiftround setlocal autoindent let b:undo_ftplugin = "setlocal com< cms< sua< sts< sw< et< sr< ai<" - -" vim:sw=2 sts=2 et fdm=marker From 3d42d8dad6f4dfc8a80b08dc7a22e6a8d3288688 Mon Sep 17 00:00:00 2001 From: KnoP-01 Date: Thu, 28 May 2026 15:12:24 +0200 Subject: [PATCH 20/21] Get rid of superfluous indent settings Indent settings are made in indent/karel.vim. modified: ftplugin/karel.vim --- ftplugin/karel.vim | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/ftplugin/karel.vim b/ftplugin/karel.vim index 4ed3e25..56d5c48 100644 --- a/ftplugin/karel.vim +++ b/ftplugin/karel.vim @@ -18,11 +18,4 @@ setlocal comments=:-- setlocal commentstring=--\ %s setlocal suffixesadd+=.kl,.KL,.ls,.LS -" indent settings -setlocal softtabstop=2 " 4 spaces per tab key pressed -setlocal shiftwidth=2 " 4 spaces per indent level -setlocal expandtab " use spaces instead of tab -setlocal shiftround -setlocal autoindent - -let b:undo_ftplugin = "setlocal com< cms< sua< sts< sw< et< sr< ai<" +let b:undo_ftplugin = "setlocal com< cms< sua<" From 121b748d099683f7a92475e85ed92d79bcdc24ea Mon Sep 17 00:00:00 2001 From: KnoP-01 Date: Fri, 29 May 2026 11:14:17 +0200 Subject: [PATCH 21/21] Fix missing closing ' in indent file modified: indent/karel.vim --- indent/karel.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indent/karel.vim b/indent/karel.vim index eac374f..9913607 100644 --- a/indent/karel.vim +++ b/indent/karel.vim @@ -38,7 +38,7 @@ set cpo&vim function GetKarelIndent() abort let currentLine = getline(v:lnum) - if currentLine =~? '\v^-- && !get(g:, 'karelCommentIndent', 0) + if currentLine =~? '\v^--' && !get(g:, 'karelCommentIndent', 0) " If current line has a -- in column 1, keep zero indent. " This may be useful if code is commented out at the first column. return 0