@@ -824,9 +824,6 @@ fun! s:change_bullet_level(direction)
824824 if l: curr_line != [] && indent (l: lnum ) == 0
825825 " Promoting a bullet at the highest level will delete the bullet
826826 call setline (l: lnum , l: curr_line [0 ].text_after_bullet)
827- if g: bullets_renumber_on_change
828- call s: renumber_whole_list ()
829- endif
830827 execute ' normal! $'
831828 return
832829 else
@@ -928,13 +925,18 @@ fun! s:change_bullet_level(direction)
928925 " Apply the new bullet
929926 call setline (l: lnum , l: next_bullet_str )
930927
931- if g: bullets_renumber_on_change
932- call s: renumber_whole_list ()
933- endif
934928 execute ' normal! $'
935929 return
936930endfun
937931
932+ fun ! s: change_bullet_level_and_renumber (direction)
933+ " Calls change_bullet_level and then renumber_whole_list if required
934+ call s: change_bullet_level (a: direction )
935+ if g: bullets_renumber_on_change
936+ call s: renumber_whole_list ()
937+ endif
938+ endfun
939+
938940fun ! s: visual_change_bullet_level (direction)
939941 " Changes the bullet level for each of the selected lines
940942 let l: start = getpos (" '<" )[1 :2 ]
@@ -953,8 +955,8 @@ fun! s:visual_change_bullet_level(direction)
953955 endif
954956endfun
955957
956- command ! BulletDemote call <SID> change_bullet_level (-1 )
957- command ! BulletPromote call <SID> change_bullet_level (1 )
958+ command ! BulletDemote call <SID> change_bullet_level_and_renumber (-1 )
959+ command ! BulletPromote call <SID> change_bullet_level_and_renumber (1 )
958960command ! -range =% BulletDemoteVisual call <SID> visual_change_bullet_level (-1 )
959961command ! -range =% BulletPromoteVisual call <SID> visual_change_bullet_level (1 )
960962
0 commit comments