ign end, et cetera with start of block let [lnum, col] = searchpairpos(s:start_pat, '', '\C' . s:end, 'bW', 's:IsCommentOrString(line("."), col("."))') let result = lnum ? indent(lnum) + shiftwidth() * (s:GetOpenCloseCount(lnum, pair_pat, col) + submatch == 2) : 0 else " Count how many blocks the previous line opens/closes " Line continuations/brackets indent once per statement let result = (prevlnum > 0) * indent(prevlnum) + shiftwidth() * (open - close \ + (b:MATLAB_bracketlevel ? -!curbracketlevel : !!curbracketlevel) \ + (curbracketlevel <= 0) * (above_lc - b:MATLAB_waslc)) endif let b:MATLAB_waslc = above_lc let b:MATLAB_bracketlevel = curbracketlevel let b:MATLAB_lasttick = b:changedtick let b:MATLAB_lastline = v:lnum return result endfunction let &cpo = s:keepcpo unlet s:keepcpo