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
225
225
let screen_save = line (' w0' )
226
226
let sel_save = &l: selection
227
227
let &l: selection = ' inclusive'
228
+ let fold_save = 0
229
+ if &foldenable
230
+ let fold_save = foldlevel (line (' .' ))
231
+ endif
228
232
let [save_g_reg, save_g_regtype] = [getreg (' g' ), getregtype (' g' )]
229
233
let [save_unnamed_reg, save_unnamed_regtype] = [getreg (v: register ), getregtype (v: register )]
230
234
@@ -242,6 +246,17 @@ function! clang_format#replace(line1, line2) abort
242
246
let &l: selection = sel_save
243
247
call setpos (' .' , pos_save)
244
248
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
245
260
endtry
246
261
endfunction
247
262
" }}}
You can’t perform that action at this time.
0 commit comments