Lines Matching refs:gap

47 static int checkCloseRec(garray_T *gap, linenr_T lnum, int level);
48 static int foldFind(garray_T *gap, linenr_T lnum, fold_T **fpp);
55 static void deleteFoldEntry(garray_T *gap, int idx, int recursive);
56 static void foldMarkAdjustRecurse(garray_T *gap, linenr_T line1, linenr_T line2, long amount, long …
57 static int getDeepestNestingRecurse(garray_T *gap);
60 static void setSmallMaybe(garray_T *gap);
154 garray_T *gap; in hasFoldingWin() local
189 gap = &win->w_folds; in hasFoldingWin()
192 if (!foldFind(gap, lnum_rel, &fp)) in hasFoldingWin()
214 gap = &fp->fd_nested; in hasFoldingWin()
529 checkCloseRec(garray_T *gap, linenr_T lnum, int level) in checkCloseRec() argument
535 fp = (fold_T *)gap->ga_data; in checkCloseRec()
536 for (i = 0; i < gap->ga_len; ++i) in checkCloseRec()
581 garray_T *gap; in foldCreate() local
610 gap = &curwin->w_folds; in foldCreate()
611 if (gap->ga_len == 0) in foldCreate()
617 if (!foldFind(gap, start_rel, &fp)) in foldCreate()
623 gap = &fp->fd_nested; in foldCreate()
643 if (gap->ga_len == 0) in foldCreate()
646 i = (int)(fp - (fold_T *)gap->ga_data); in foldCreate()
649 if (ga_grow(gap, 1) == OK) in foldCreate()
651 fp = (fold_T *)gap->ga_data + i; in foldCreate()
655 for (cont = 0; i + cont < gap->ga_len; ++cont) in foldCreate()
680 if (i < gap->ga_len) in foldCreate()
681 mch_memmove(fp + 1, (fold_T *)gap->ga_data + i, in foldCreate()
682 sizeof(fold_T) * (gap->ga_len - i)); in foldCreate()
683 gap->ga_len = gap->ga_len + 1 - cont; in foldCreate()
717 garray_T *gap; in deleteFold() local
736 gap = &curwin->w_folds; in deleteFold()
742 if (!foldFind(gap, lnum - lnum_off, &fp)) in deleteFold()
745 found_ga = gap; in deleteFold()
755 gap = &fp->fd_nested; in deleteFold()
894 garray_T *gap; in foldMoveTo() local
907 gap = &curwin->w_folds; in foldMoveTo()
908 if (gap->ga_len == 0) in foldMoveTo()
917 if (!foldFind(gap, curwin->w_cursor.lnum - lnum_off, &fp)) in foldMoveTo()
919 if (!updown || gap->ga_len == 0) in foldMoveTo()
926 if (fp - (fold_T *)gap->ga_data >= gap->ga_len) in foldMoveTo()
932 if (fp == (fold_T *)gap->ga_data) in foldMoveTo()
957 if (fp + 1 - (fold_T *)gap->ga_data < gap->ga_len) in foldMoveTo()
967 if (fp > (fold_T *)gap->ga_data) in foldMoveTo()
997 gap = &fp->fd_nested; in foldMoveTo()
1138 foldFind(garray_T *gap, linenr_T lnum, fold_T **fpp) in foldFind() argument
1144 if (gap->ga_len == 0) in foldFind()
1155 fp = (fold_T *)gap->ga_data; in foldFind()
1157 high = gap->ga_len - 1; in foldFind()
1188 garray_T *gap; in foldLevelWin() local
1191 gap = &wp->w_folds; in foldLevelWin()
1194 if (!foldFind(gap, lnum_rel, &fp)) in foldLevelWin()
1197 gap = &fp->fd_nested; in foldLevelWin()
1306 garray_T *gap; in setManualFoldWin() local
1316 gap = &wp->w_folds; in setManualFoldWin()
1319 if (!foldFind(gap, lnum, &fp)) in setManualFoldWin()
1322 if (fp != NULL && fp < (fold_T *)gap->ga_data + gap->ga_len) in setManualFoldWin()
1331 if (fp + 1 < (fold_T *)gap->ga_data + gap->ga_len) in setManualFoldWin()
1371 gap = &fp->fd_nested; in setManualFoldWin()
1423 deleteFoldEntry(garray_T *gap, int idx, int recursive) in deleteFoldEntry() argument
1430 fp = (fold_T *)gap->ga_data + idx; in deleteFoldEntry()
1435 --gap->ga_len; in deleteFoldEntry()
1436 if (idx < gap->ga_len) in deleteFoldEntry()
1437 mch_memmove(fp, fp + 1, sizeof(fold_T) * (gap->ga_len - idx)); in deleteFoldEntry()
1444 if (ga_grow(gap, (int)(moved - 1)) == OK) in deleteFoldEntry()
1447 fp = (fold_T *)gap->ga_data + idx; in deleteFoldEntry()
1461 if (idx + 1 < gap->ga_len) in deleteFoldEntry()
1463 sizeof(fold_T) * (gap->ga_len - (idx + 1))); in deleteFoldEntry()
1467 gap->ga_len += moved - 1; in deleteFoldEntry()
1477 deleteFoldRecurse(garray_T *gap) in deleteFoldRecurse() argument
1481 for (i = 0; i < gap->ga_len; ++i) in deleteFoldRecurse()
1482 deleteFoldRecurse(&(((fold_T *)(gap->ga_data))[i].fd_nested)); in deleteFoldRecurse()
1483 ga_clear(gap); in deleteFoldRecurse()
1512 garray_T *gap, in foldMarkAdjustRecurse() argument
1523 if (gap->ga_len == 0) in foldMarkAdjustRecurse()
1534 (void)foldFind(gap, line1, &fp); in foldMarkAdjustRecurse()
1539 for (i = (int)(fp - (fold_T *)gap->ga_data); i < gap->ga_len; ++i, ++fp) in foldMarkAdjustRecurse()
1574 deleteFoldEntry(gap, i, TRUE); in foldMarkAdjustRecurse()
1645 getDeepestNestingRecurse(garray_T *gap) in getDeepestNestingRecurse() argument
1652 fp = (fold_T *)gap->ga_data; in getDeepestNestingRecurse()
1653 for (i = 0; i < gap->ga_len; ++i) in getDeepestNestingRecurse()
1745 setSmallMaybe(garray_T *gap) in setSmallMaybe() argument
1750 fp = (fold_T *)gap->ga_data; in setSmallMaybe()
1751 for (i = 0; i < gap->ga_len; ++i) in setSmallMaybe()
2128 static linenr_T foldUpdateIEMSRecurse(garray_T *gap, int level, linenr_T startlnum, fline_T *flp, v…
2129 static int foldInsert(garray_T *gap, int i);
2130 static void foldSplit(garray_T *gap, int i, linenr_T top, linenr_T bot);
2131 static void foldRemove(garray_T *gap, linenr_T top, linenr_T bot);
2132 static void foldMerge(fold_T *fp1, garray_T *gap, fold_T *fp2);
2273 garray_T *gap = &wp->w_folds; in foldUpdateIEMS() local
2281 if (!foldFind(gap, lnum_rel, &fpn)) in foldUpdateIEMS()
2286 gap = &fpn->fd_nested; in foldUpdateIEMS()
2401 garray_T *gap, in foldUpdateIEMSRecurse() argument
2429 (void)foldFind(gap, startlnum - 1, &fp); in foldUpdateIEMSRecurse()
2430 if (fp != NULL && (fp >= ((fold_T *)gap->ga_data) + gap->ga_len in foldUpdateIEMSRecurse()
2526 if (gap->ga_len > 0 && (foldFind(gap, startlnum, &fp) in foldUpdateIEMSRecurse()
2527 || (fp < ((fold_T *)gap->ga_data) + gap->ga_len in foldUpdateIEMSRecurse()
2529 || foldFind(gap, firstlnum - concat, &fp) in foldUpdateIEMSRecurse()
2530 || (fp < ((fold_T *)gap->ga_data) + gap->ga_len in foldUpdateIEMSRecurse()
2597 i = (int)(fp - (fold_T *)gap->ga_data); in foldUpdateIEMSRecurse()
2598 foldSplit(gap, i, breakstart, breakend - 1); in foldUpdateIEMSRecurse()
2599 fp = (fold_T *)gap->ga_data + i + 1; in foldUpdateIEMSRecurse()
2612 i = (int)(fp - (fold_T *)gap->ga_data); in foldUpdateIEMSRecurse()
2618 foldMerge(fp2, gap, fp); in foldUpdateIEMSRecurse()
2630 deleteFoldEntry(gap, in foldUpdateIEMSRecurse()
2631 (int)(fp - (fold_T *)gap->ga_data), TRUE); in foldUpdateIEMSRecurse()
2648 if (gap->ga_len == 0) in foldUpdateIEMSRecurse()
2651 i = (int)(fp - (fold_T *)gap->ga_data); in foldUpdateIEMSRecurse()
2652 if (foldInsert(gap, i) != OK) in foldUpdateIEMSRecurse()
2654 fp = (fold_T *)gap->ga_data + i; in foldUpdateIEMSRecurse()
2714 i = (int)(fp - (fold_T *)gap->ga_data); in foldUpdateIEMSRecurse()
2718 fp = (fold_T *)gap->ga_data + i; in foldUpdateIEMSRecurse()
2807 i = (int)(fp - (fold_T *)gap->ga_data); in foldUpdateIEMSRecurse()
2808 foldSplit(gap, i, flp->lnum, bot); in foldUpdateIEMSRecurse()
2809 fp = (fold_T *)gap->ga_data + i; in foldUpdateIEMSRecurse()
2822 if (fp2 >= (fold_T *)gap->ga_data + gap->ga_len in foldUpdateIEMSRecurse()
2841 foldMerge(fp, gap, fp2); in foldUpdateIEMSRecurse()
2846 deleteFoldEntry(gap, (int)(fp2 - (fold_T *)gap->ga_data), TRUE); in foldUpdateIEMSRecurse()
2863 foldInsert(garray_T *gap, int i) in foldInsert() argument
2867 if (ga_grow(gap, 1) != OK) in foldInsert()
2869 fp = (fold_T *)gap->ga_data + i; in foldInsert()
2870 if (gap->ga_len > 0 && i < gap->ga_len) in foldInsert()
2871 mch_memmove(fp + 1, fp, sizeof(fold_T) * (gap->ga_len - i)); in foldInsert()
2872 ++gap->ga_len; in foldInsert()
2887 garray_T *gap, in foldSplit() argument
2900 if (foldInsert(gap, i + 1) == FAIL) in foldSplit()
2902 fp = (fold_T *)gap->ga_data + i; in foldSplit()
2952 foldRemove(garray_T *gap, linenr_T top, linenr_T bot) in foldRemove() argument
2959 while (gap->ga_len > 0) in foldRemove()
2962 if (foldFind(gap, top, &fp) && fp->fd_top < top) in foldRemove()
2969 foldSplit(gap, (int)(fp - (fold_T *)gap->ga_data), top, bot); in foldRemove()
2979 if (fp >= (fold_T *)(gap->ga_data) + gap->ga_len in foldRemove()
3001 deleteFoldEntry(gap, (int)(fp - (fold_T *)gap->ga_data), TRUE); in foldRemove()
3008 foldReverseOrder(garray_T *gap, linenr_T start_arg, linenr_T end_arg) in foldReverseOrder() argument
3017 left = (fold_T *)gap->ga_data + start; in foldReverseOrder()
3018 right = (fold_T *)gap->ga_data + end; in foldReverseOrder()
3067 #define valid_fold(fp, gap) ((gap)->ga_len > 0 && (fp) < ((fold_T *)(gap)->ga_data + (gap)->ga_len)) argument
3068 #define fold_index(fp, gap) ((size_t)(fp - ((fold_T *)(gap)->ga_data))) argument
3071 foldMoveRange(garray_T *gap, linenr_T line1, linenr_T line2, linenr_T dest) in foldMoveRange() argument
3076 int at_start = foldFind(gap, line1 - 1, &fp); in foldMoveRange()
3108 if (!valid_fold(fp, gap) || fp->fd_top > dest) in foldMoveRange()
3116 for (; valid_fold(fp, gap) && fold_end(fp) <= dest; fp++) in foldMoveRange()
3120 if (valid_fold(fp, gap) && fp->fd_top <= dest) in foldMoveRange()
3141 move_start = fold_index(fp, gap); in foldMoveRange()
3143 for (; valid_fold(fp, gap) && fp->fd_top <= dest; fp++) in foldMoveRange()
3158 move_end = fold_index(fp, gap); in foldMoveRange()
3166 dest_index = fold_index(fp, gap); in foldMoveRange()
3177 foldReverseOrder(gap, (linenr_T)move_start, (linenr_T)dest_index - 1); in foldMoveRange()
3178 foldReverseOrder(gap, (linenr_T)move_start, in foldMoveRange()
3180 foldReverseOrder(gap, (linenr_T)(move_start + dest_index - move_end), in foldMoveRange()
3196 foldMerge(fold_T *fp1, garray_T *gap, fold_T *fp2) in foldMerge() argument
3223 deleteFoldEntry(gap, (int)(fp2 - (fold_T *)gap->ga_data), TRUE); in foldMerge()
3515 static int put_folds_recurse(FILE *fd, garray_T *gap, linenr_T off);
3516 static int put_foldopen_recurse(FILE *fd, win_T *wp, garray_T *gap, linenr_T off);
3547 put_folds_recurse(FILE *fd, garray_T *gap, linenr_T off) in put_folds_recurse() argument
3552 fp = (fold_T *)gap->ga_data; in put_folds_recurse()
3553 for (i = 0; i < gap->ga_len; i++) in put_folds_recurse()
3576 garray_T *gap, in put_foldopen_recurse() argument
3583 fp = (fold_T *)gap->ga_data; in put_foldopen_recurse()
3584 for (i = 0; i < gap->ga_len; i++) in put_foldopen_recurse()