Lines Matching refs:flp
2128 static linenr_T foldUpdateIEMSRecurse(garray_T *gap, int level, linenr_T startlnum, fline_T *flp, v…
2133 static void foldlevelIndent(fline_T *flp);
2135 static void foldlevelDiff(fline_T *flp);
2137 static void foldlevelExpr(fline_T *flp);
2138 static void foldlevelMarker(fline_T *flp);
2139 static void foldlevelSyntax(fline_T *flp);
2404 fline_T *flp, in foldUpdateIEMSRecurse() argument
2414 linenr_T firstlnum = flp->lnum; // first lnum we got in foldUpdateIEMSRecurse()
2417 linenr_T linecount = flp->wp->w_buffer->b_ml.ml_line_count - flp->off; in foldUpdateIEMSRecurse()
2426 if (getlevel == foldlevelMarker && flp->start <= flp->lvl - level in foldUpdateIEMSRecurse()
2427 && flp->lvl > 0) in foldUpdateIEMSRecurse()
2446 flp->lnum_save = flp->lnum; in foldUpdateIEMSRecurse()
2456 lvl = flp->lvl; in foldUpdateIEMSRecurse()
2459 if (flp->lnum > firstlnum in foldUpdateIEMSRecurse()
2460 && (level > lvl - flp->start || level >= flp->had_end)) in foldUpdateIEMSRecurse()
2463 if (flp->lnum > bot && !finish && fp != NULL) in foldUpdateIEMSRecurse()
2481 ll = flp->lnum - fp->fd_top; in foldUpdateIEMSRecurse()
2490 (void)foldFind(&fp->fd_nested, flp->lnum - fp->fd_top, &fp2); in foldUpdateIEMSRecurse()
2494 else if (fp->fd_top + fp->fd_len <= flp->lnum && lvl >= level) in foldUpdateIEMSRecurse()
2505 || flp->lnum_save >= bot in foldUpdateIEMSRecurse()
2506 || flp->start != 0 in foldUpdateIEMSRecurse()
2507 || flp->had_end <= MAX_LEVEL in foldUpdateIEMSRecurse()
2508 || flp->lnum == linecount)) in foldUpdateIEMSRecurse()
2518 if (flp->start != 0 || flp->had_end <= MAX_LEVEL) in foldUpdateIEMSRecurse()
2531 && ((lvl < level && fp->fd_top < flp->lnum) in foldUpdateIEMSRecurse()
2533 && fp->fd_top <= flp->lnum_save))))) in foldUpdateIEMSRecurse()
2563 else if ((flp->start != 0 && lvl == level) in foldUpdateIEMSRecurse()
2592 breakstart = flp->lnum; in foldUpdateIEMSRecurse()
2593 breakend = flp->lnum; in foldUpdateIEMSRecurse()
2664 flp->wp->w_fold_manual = TRUE; in foldUpdateIEMSRecurse()
2671 flp->wp->w_fold_manual = TRUE; in foldUpdateIEMSRecurse()
2688 if (lvl < level || flp->lnum > linecount) in foldUpdateIEMSRecurse()
2707 if (bot < flp->lnum) in foldUpdateIEMSRecurse()
2708 bot = flp->lnum; in foldUpdateIEMSRecurse()
2712 flp->lnum = flp->lnum_save - fp->fd_top; in foldUpdateIEMSRecurse()
2713 flp->off += fp->fd_top; in foldUpdateIEMSRecurse()
2716 startlnum2 - fp->fd_top, flp, getlevel, in foldUpdateIEMSRecurse()
2719 flp->lnum += fp->fd_top; in foldUpdateIEMSRecurse()
2720 flp->lnum_save += fp->fd_top; in foldUpdateIEMSRecurse()
2721 flp->off -= fp->fd_top; in foldUpdateIEMSRecurse()
2723 startlnum2 = flp->lnum; in foldUpdateIEMSRecurse()
2735 flp->lnum = flp->lnum_save; in foldUpdateIEMSRecurse()
2736 ll = flp->lnum + 1; in foldUpdateIEMSRecurse()
2740 prev_lnum = flp->lnum; in foldUpdateIEMSRecurse()
2741 prev_lnum_lvl = flp->lvl; in foldUpdateIEMSRecurse()
2743 if (++flp->lnum > linecount) in foldUpdateIEMSRecurse()
2745 flp->lvl = flp->lvl_next; in foldUpdateIEMSRecurse()
2746 getlevel(flp); in foldUpdateIEMSRecurse()
2747 if (flp->lvl >= 0 || flp->had_end <= MAX_LEVEL) in foldUpdateIEMSRecurse()
2751 if (flp->lnum > linecount) in foldUpdateIEMSRecurse()
2756 flp->lnum_save = flp->lnum; in foldUpdateIEMSRecurse()
2757 flp->lnum = ll; in foldUpdateIEMSRecurse()
2771 if (fp->fd_len < flp->lnum - fp->fd_top) in foldUpdateIEMSRecurse()
2773 fp->fd_len = flp->lnum - fp->fd_top; in foldUpdateIEMSRecurse()
2784 flp->lnum - 1 - fp->fd_top); in foldUpdateIEMSRecurse()
2789 if (fp->fd_len != flp->lnum - fp->fd_top) in foldUpdateIEMSRecurse()
2801 fp->fd_len = flp->lnum - fp->fd_top; in foldUpdateIEMSRecurse()
2808 foldSplit(gap, i, flp->lnum, bot); in foldUpdateIEMSRecurse()
2813 fp->fd_len = flp->lnum - fp->fd_top; in foldUpdateIEMSRecurse()
2823 || fp2->fd_top > flp->lnum) in foldUpdateIEMSRecurse()
2825 if (fp2->fd_top + fp2->fd_len > flp->lnum) in foldUpdateIEMSRecurse()
2827 if (fp2->fd_top < flp->lnum) in foldUpdateIEMSRecurse()
2831 (linenr_T)0, (long)(flp->lnum - fp2->fd_top - 1), in foldUpdateIEMSRecurse()
2832 (linenr_T)MAXLNUM, (long)(fp2->fd_top - flp->lnum)); in foldUpdateIEMSRecurse()
2833 fp2->fd_len -= flp->lnum - fp2->fd_top; in foldUpdateIEMSRecurse()
2834 fp2->fd_top = flp->lnum; in foldUpdateIEMSRecurse()
2851 if (bot < flp->lnum - 1) in foldUpdateIEMSRecurse()
2852 bot = flp->lnum - 1; in foldUpdateIEMSRecurse()
3234 foldlevelIndent(fline_T *flp) in foldlevelIndent() argument
3238 linenr_T lnum = flp->lnum + flp->off; in foldlevelIndent()
3240 buf = flp->wp->w_buffer; in foldlevelIndent()
3245 if (*s == NUL || vim_strchr(flp->wp->w_p_fdi, *s) != NULL) in foldlevelIndent()
3249 flp->lvl = 0; in foldlevelIndent()
3251 flp->lvl = -1; in foldlevelIndent()
3254 flp->lvl = get_indent_buf(buf, lnum) / get_sw_value(buf); in foldlevelIndent()
3255 if (flp->lvl > flp->wp->w_p_fdn) in foldlevelIndent()
3257 flp->lvl = flp->wp->w_p_fdn; in foldlevelIndent()
3258 if (flp->lvl < 0) in foldlevelIndent()
3259 flp->lvl = 0; in foldlevelIndent()
3270 foldlevelDiff(fline_T *flp) in foldlevelDiff() argument
3272 if (diff_infold(flp->wp, flp->lnum + flp->off)) in foldlevelDiff()
3273 flp->lvl = 1; in foldlevelDiff()
3275 flp->lvl = 0; in foldlevelDiff()
3286 foldlevelExpr(fline_T *flp) in foldlevelExpr() argument
3289 flp->start = FALSE; in foldlevelExpr()
3290 flp->lvl = 0; in foldlevelExpr()
3295 linenr_T lnum = flp->lnum + flp->off; in foldlevelExpr()
3299 curwin = flp->wp; in foldlevelExpr()
3300 curbuf = flp->wp->w_buffer; in foldlevelExpr()
3303 flp->start = 0; in foldlevelExpr()
3304 flp->had_end = flp->end; in foldlevelExpr()
3305 flp->end = MAX_LEVEL + 1; in foldlevelExpr()
3307 flp->lvl = 0; in foldlevelExpr()
3312 n = eval_foldexpr(flp->wp->w_p_fde, &c); in foldlevelExpr()
3318 case 'a': if (flp->lvl >= 0) in foldlevelExpr()
3320 flp->lvl += n; in foldlevelExpr()
3321 flp->lvl_next = flp->lvl; in foldlevelExpr()
3323 flp->start = n; in foldlevelExpr()
3327 case 's': if (flp->lvl >= 0) in foldlevelExpr()
3329 if (n > flp->lvl) in foldlevelExpr()
3330 flp->lvl_next = 0; in foldlevelExpr()
3332 flp->lvl_next = flp->lvl - n; in foldlevelExpr()
3333 flp->end = flp->lvl_next + 1; in foldlevelExpr()
3338 case '>': flp->lvl = n; in foldlevelExpr()
3339 flp->lvl_next = n; in foldlevelExpr()
3340 flp->start = 1; in foldlevelExpr()
3344 case '<': flp->lvl_next = n - 1; in foldlevelExpr()
3345 flp->end = n; in foldlevelExpr()
3349 case '=': flp->lvl_next = flp->lvl; in foldlevelExpr()
3356 flp->lvl_next = flp->lvl; in foldlevelExpr()
3358 flp->lvl_next = n; in foldlevelExpr()
3359 flp->lvl = n; in foldlevelExpr()
3365 if (flp->lvl < 0) in foldlevelExpr()
3369 flp->lvl = 0; in foldlevelExpr()
3370 flp->lvl_next = 0; in foldlevelExpr()
3373 flp->lvl_next = 0; in foldlevelExpr()
3406 foldlevelMarker(fline_T *flp) in foldlevelMarker() argument
3411 int start_lvl = flp->lvl; in foldlevelMarker()
3416 startmarker = flp->wp->w_p_fmr; in foldlevelMarker()
3422 flp->start = 0; in foldlevelMarker()
3423 flp->lvl_next = flp->lvl; in foldlevelMarker()
3425 s = ml_get_buf(flp->wp->w_buffer, flp->lnum + flp->off, FALSE); in foldlevelMarker()
3438 flp->lvl = n; in foldlevelMarker()
3439 flp->lvl_next = n; in foldlevelMarker()
3441 flp->start = 1; in foldlevelMarker()
3443 flp->start = n - start_lvl; in foldlevelMarker()
3448 ++flp->lvl; in foldlevelMarker()
3449 ++flp->lvl_next; in foldlevelMarker()
3450 ++flp->start; in foldlevelMarker()
3463 flp->lvl = n; in foldlevelMarker()
3464 flp->lvl_next = n - 1; in foldlevelMarker()
3466 if (flp->lvl_next > start_lvl) in foldlevelMarker()
3467 flp->lvl_next = start_lvl; in foldlevelMarker()
3471 --flp->lvl_next; in foldlevelMarker()
3478 if (flp->lvl_next < 0) in foldlevelMarker()
3479 flp->lvl_next = 0; in foldlevelMarker()
3488 foldlevelSyntax(fline_T *flp) in foldlevelSyntax() argument
3491 flp->start = 0; in foldlevelSyntax()
3492 flp->lvl = 0; in foldlevelSyntax()
3494 linenr_T lnum = flp->lnum + flp->off; in foldlevelSyntax()
3498 flp->lvl = syn_get_foldlevel(flp->wp, lnum); in foldlevelSyntax()
3499 flp->start = 0; in foldlevelSyntax()
3500 if (lnum < flp->wp->w_buffer->b_ml.ml_line_count) in foldlevelSyntax()
3502 n = syn_get_foldlevel(flp->wp, lnum + 1); in foldlevelSyntax()
3503 if (n > flp->lvl) in foldlevelSyntax()
3505 flp->start = n - flp->lvl; // fold(s) start here in foldlevelSyntax()
3506 flp->lvl = n; in foldlevelSyntax()