File tree Expand file tree Collapse file tree 1 file changed +15
-0
lines changed Expand file tree Collapse file tree 1 file changed +15
-0
lines changed Original file line number Diff line number Diff line change @@ -225,6 +225,10 @@ function! clang_format#replace(line1, line2) abort
225225 let screen_save = line (' w0' )
226226 let sel_save = &l: selection
227227 let &l: selection = ' inclusive'
228+ let fold_save = 0
229+ if &foldenable
230+ let fold_save = foldlevel (line (' .' ))
231+ endif
228232 let [save_g_reg, save_g_regtype] = [getreg (' g' ), getregtype (' g' )]
229233 let [save_unnamed_reg, save_unnamed_regtype] = [getreg (v: register ), getregtype (v: register )]
230234
@@ -242,6 +246,17 @@ function! clang_format#replace(line1, line2) abort
242246 let &l: selection = sel_save
243247 call setpos (' .' , pos_save)
244248 call s: restore_screen_pos (screen_save)
249+ if fold_save > 0
250+ let level = foldlevel (line (' .' ))
251+ while fold_save > level
252+ foldopen
253+ let l = foldlevel (line (' .' ))
254+ if l == level
255+ break
256+ endif
257+ let level = l
258+ endwhile
259+ endif
245260 endtry
246261endfunction
247262" }}}
You can’t perform that action at this time.
0 commit comments