diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-12-01 21:41:28 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-12-01 21:41:28 +0100 |
commit | 217e1b8359447f5550dcb0d1ee43380a90c253c5 (patch) | |
tree | 137e8b7d6f27848c95caa47e2fc13a4dc4c50d29 /src/fold.c | |
parent | 5d18efecfd6c45d69f55268948a22cd0465bb955 (diff) | |
download | vim-git-217e1b8359447f5550dcb0d1ee43380a90c253c5.tar.gz |
patch 8.1.2379: using old C style commentsv8.1.2379
Problem: Using old C style comments.
Solution: Use // comments where appropriate.
Diffstat (limited to 'src/fold.c')
-rw-r--r-- | src/fold.c | 870 |
1 files changed, 432 insertions, 438 deletions
diff --git a/src/fold.c b/src/fold.c index 8cadd4327..d91203c75 100644 --- a/src/fold.c +++ b/src/fold.c @@ -16,8 +16,8 @@ #if defined(FEAT_FOLDING) || defined(PROTO) -/* local declarations. {{{1 */ -/* typedef fold_T {{{2 */ +// local declarations. {{{1 +// typedef fold_T {{{2 /* * The toplevel folds for each window are stored in the w_folds growarray. * Each toplevel fold can contain an array of second level folds in the @@ -26,23 +26,23 @@ */ typedef struct { - linenr_T fd_top; /* first line of fold; for nested fold - * relative to parent */ - linenr_T fd_len; /* number of lines in the fold */ - garray_T fd_nested; /* array of nested folds */ - char fd_flags; /* see below */ - char fd_small; /* TRUE, FALSE or MAYBE: fold smaller than - 'foldminlines'; MAYBE applies to nested - folds too */ + linenr_T fd_top; // first line of fold; for nested fold + // relative to parent + linenr_T fd_len; // number of lines in the fold + garray_T fd_nested; // array of nested folds + char fd_flags; // see below + char fd_small; // TRUE, FALSE or MAYBE: fold smaller than + // 'foldminlines'; MAYBE applies to nested + // folds too } fold_T; -#define FD_OPEN 0 /* fold is open (nested ones can be closed) */ -#define FD_CLOSED 1 /* fold is closed */ -#define FD_LEVEL 2 /* depends on 'foldlevel' (nested folds too) */ +#define FD_OPEN 0 // fold is open (nested ones can be closed) +#define FD_CLOSED 1 // fold is closed +#define FD_LEVEL 2 // depends on 'foldlevel' (nested folds too) -#define MAX_LEVEL 20 /* maximum fold depth */ +#define MAX_LEVEL 20 // maximum fold depth -/* static functions {{{2 */ +// static functions {{{2 static void newFoldLevelWin(win_T *wp); static int checkCloseRec(garray_T *gap, linenr_T lnum, int level); static int foldFind(garray_T *gap, linenr_T lnum, fold_T **fpp); @@ -84,17 +84,17 @@ static linenr_T invalid_bot = (linenr_T)0; static linenr_T prev_lnum = 0; static int prev_lnum_lvl = -1; -/* Flags used for "done" argument of setManualFold. */ +// Flags used for "done" argument of setManualFold. #define DONE_NOTHING 0 -#define DONE_ACTION 1 /* did close or open a fold */ -#define DONE_FOLD 2 /* did find a fold */ +#define DONE_ACTION 1 // did close or open a fold +#define DONE_FOLD 2 // did find a fold static int foldstartmarkerlen; static char_u *foldendmarker; static int foldendmarkerlen; -/* Exported folding functions. {{{1 */ -/* copyFoldingState() {{{2 */ +// Exported folding functions. {{{1 +// copyFoldingState() {{{2 /* * Copy that folding state from window "wp_from" to window "wp_to". @@ -107,19 +107,19 @@ copyFoldingState(win_T *wp_from, win_T *wp_to) cloneFoldGrowArray(&wp_from->w_folds, &wp_to->w_folds); } -/* hasAnyFolding() {{{2 */ +// hasAnyFolding() {{{2 /* * Return TRUE if there may be folded lines in the current window. */ int hasAnyFolding(win_T *win) { - /* very simple now, but can become more complex later */ + // very simple now, but can become more complex later return (win->w_p_fen && (!foldmethodIsManual(win) || win->w_folds.ga_len > 0)); } -/* hasFolding() {{{2 */ +// hasFolding() {{{2 /* * Return TRUE if line "lnum" in the current window is part of a closed * fold. @@ -132,15 +132,15 @@ hasFolding(linenr_T lnum, linenr_T *firstp, linenr_T *lastp) return hasFoldingWin(curwin, lnum, firstp, lastp, TRUE, NULL); } -/* hasFoldingWin() {{{2 */ +// hasFoldingWin() {{{2 int hasFoldingWin( win_T *win, linenr_T lnum, linenr_T *firstp, linenr_T *lastp, - int cache, /* when TRUE: use cached values of window */ - foldinfo_T *infop) /* where to store fold info */ + int cache, // when TRUE: use cached values of window + foldinfo_T *infop) // where to store fold info { int had_folded = FALSE; linenr_T first = 0; @@ -192,25 +192,25 @@ hasFoldingWin( if (!foldFind(gap, lnum_rel, &fp)) break; - /* Remember lowest level of fold that starts in "lnum". */ + // Remember lowest level of fold that starts in "lnum". if (lnum_rel == fp->fd_top && low_level == 0) low_level = level + 1; first += fp->fd_top; last += fp->fd_top; - /* is this fold closed? */ + // is this fold closed? had_folded = check_closed(win, fp, &use_level, level, &maybe_small, lnum - lnum_rel); if (had_folded) { - /* Fold closed: Set last and quit loop. */ + // Fold closed: Set last and quit loop. last += fp->fd_len - 1; break; } - /* Fold found, but it's open: Check nested folds. Line number is - * relative to containing fold. */ + // Fold found, but it's open: Check nested folds. Line number is + // relative to containing fold. gap = &fp->fd_nested; lnum_rel -= fp->fd_top; ++level; @@ -243,7 +243,7 @@ hasFoldingWin( return TRUE; } -/* foldLevel() {{{2 */ +// foldLevel() {{{2 #ifdef FEAT_EVAL /* * Return fold level at line number "lnum" in the current window. @@ -251,8 +251,8 @@ hasFoldingWin( static int foldLevel(linenr_T lnum) { - /* While updating the folds lines between invalid_top and invalid_bot have - * an undefined fold level. Otherwise update the folds first. */ + // While updating the folds lines between invalid_top and invalid_bot have + // an undefined fold level. Otherwise update the folds first. if (invalid_top == (linenr_T)0) checkupdate(curwin); else if (lnum == prev_lnum && prev_lnum_lvl >= 0) @@ -260,7 +260,7 @@ foldLevel(linenr_T lnum) else if (lnum >= invalid_top && lnum <= invalid_bot) return -1; - /* Return quickly when there is no folding at all in this window. */ + // Return quickly when there is no folding at all in this window. if (!hasAnyFolding(curwin)) return 0; @@ -268,7 +268,7 @@ foldLevel(linenr_T lnum) } #endif -/* lineFolded() {{{2 */ +// lineFolded() {{{2 /* * Low level function to check if a line is folded. Doesn't use any caching. * Return TRUE if line is folded. @@ -281,7 +281,7 @@ lineFolded(win_T *win, linenr_T lnum) return foldedCount(win, lnum, NULL) != 0; } -/* foldedCount() {{{2 */ +// foldedCount() {{{2 /* * Count the number of lines that are folded at line number "lnum". * Normally "lnum" is the first line of a possible fold, and the returned @@ -300,7 +300,7 @@ foldedCount(win_T *win, linenr_T lnum, foldinfo_T *infop) return 0; } -/* foldmethodIsManual() {{{2 */ +// foldmethodIsManual() {{{2 /* * Return TRUE if 'foldmethod' is "manual" */ @@ -310,7 +310,7 @@ foldmethodIsManual(win_T *wp) return (wp->w_p_fdm[3] == 'u'); } -/* foldmethodIsIndent() {{{2 */ +// foldmethodIsIndent() {{{2 /* * Return TRUE if 'foldmethod' is "indent" */ @@ -320,7 +320,7 @@ foldmethodIsIndent(win_T *wp) return (wp->w_p_fdm[0] == 'i'); } -/* foldmethodIsExpr() {{{2 */ +// foldmethodIsExpr() {{{2 /* * Return TRUE if 'foldmethod' is "expr" */ @@ -330,7 +330,7 @@ foldmethodIsExpr(win_T *wp) return (wp->w_p_fdm[1] == 'x'); } -/* foldmethodIsMarker() {{{2 */ +// foldmethodIsMarker() {{{2 /* * Return TRUE if 'foldmethod' is "marker" */ @@ -340,7 +340,7 @@ foldmethodIsMarker(win_T *wp) return (wp->w_p_fdm[2] == 'r'); } -/* foldmethodIsSyntax() {{{2 */ +// foldmethodIsSyntax() {{{2 /* * Return TRUE if 'foldmethod' is "syntax" */ @@ -350,7 +350,7 @@ foldmethodIsSyntax(win_T *wp) return (wp->w_p_fdm[0] == 's'); } -/* foldmethodIsDiff() {{{2 */ +// foldmethodIsDiff() {{{2 /* * Return TRUE if 'foldmethod' is "diff" */ @@ -360,7 +360,7 @@ foldmethodIsDiff(win_T *wp) return (wp->w_p_fdm[0] == 'd'); } -/* closeFold() {{{2 */ +// closeFold() {{{2 /* * Close fold for current window at line "lnum". * Repeat "count" times. @@ -371,7 +371,7 @@ closeFold(linenr_T lnum, long count) setFoldRepeat(lnum, count, FALSE); } -/* closeFoldRecurse() {{{2 */ +// closeFoldRecurse() {{{2 /* * Close fold for current window at line "lnum" recursively. */ @@ -381,7 +381,7 @@ closeFoldRecurse(linenr_T lnum) (void)setManualFold(lnum, FALSE, TRUE, NULL); } -/* opFoldRange() {{{2 */ +// opFoldRange() {{{2 /* * Open or Close folds for current window in lines "first" to "last". * Used for "zo", "zO", "zc" and "zC" in Visual mode. @@ -390,35 +390,35 @@ closeFoldRecurse(linenr_T lnum) opFoldRange( linenr_T first, linenr_T last, - int opening, /* TRUE to open, FALSE to close */ - int recurse, /* TRUE to do it recursively */ - int had_visual) /* TRUE when Visual selection used */ + int opening, // TRUE to open, FALSE to close + int recurse, // TRUE to do it recursively + int had_visual) // TRUE when Visual selection used { - int done = DONE_NOTHING; /* avoid error messages */ + int done = DONE_NOTHING; // avoid error messages linenr_T lnum; linenr_T lnum_next; for (lnum = first; lnum <= last; lnum = lnum_next + 1) { lnum_next = lnum; - /* Opening one level only: next fold to open is after the one going to - * be opened. */ + // Opening one level only: next fold to open is after the one going to + // be opened. if (opening && !recurse) (void)hasFolding(lnum, NULL, &lnum_next); (void)setManualFold(lnum, opening, recurse, &done); - /* Closing one level only: next line to close a fold is after just - * closed fold. */ + // Closing one level only: next line to close a fold is after just + // closed fold. if (!opening && !recurse) (void)hasFolding(lnum, NULL, &lnum_next); } if (done == DONE_NOTHING) emsg(_(e_nofold)); - /* Force a redraw to remove the Visual highlighting. */ + // Force a redraw to remove the Visual highlighting. if (had_visual) redraw_curbuf_later(INVERTED); } -/* openFold() {{{2 */ +// openFold() {{{2 /* * Open fold for current window at line "lnum". * Repeat "count" times. @@ -429,7 +429,7 @@ openFold(linenr_T lnum, long count) setFoldRepeat(lnum, count, TRUE); } -/* openFoldRecurse() {{{2 */ +// openFoldRecurse() {{{2 /* * Open fold for current window at line "lnum" recursively. */ @@ -439,7 +439,7 @@ openFoldRecurse(linenr_T lnum) (void)setManualFold(lnum, TRUE, TRUE, NULL); } -/* foldOpenCursor() {{{2 */ +// foldOpenCursor() {{{2 /* * Open folds until the cursor line is not in a closed fold. */ @@ -459,7 +459,7 @@ foldOpenCursor(void) } } -/* newFoldLevel() {{{2 */ +// newFoldLevel() {{{2 /* * Set new foldlevel for current window. */ @@ -497,9 +497,9 @@ newFoldLevelWin(win_T *wp) checkupdate(wp); if (wp->w_fold_manual) { - /* Set all flags for the first level of folds to FD_LEVEL. Following - * manual open/close will then change the flags to FD_OPEN or - * FD_CLOSED for those folds that don't use 'foldlevel'. */ + // Set all flags for the first level of folds to FD_LEVEL. Following + // manual open/close will then change the flags to FD_OPEN or + // FD_CLOSED for those folds that don't use 'foldlevel'. fp = (fold_T *)wp->w_folds.ga_data; for (i = 0; i < wp->w_folds.ga_len; ++i) fp[i].fd_flags = FD_LEVEL; @@ -508,14 +508,14 @@ newFoldLevelWin(win_T *wp) changed_window_setting_win(wp); } -/* foldCheckClose() {{{2 */ +// foldCheckClose() {{{2 /* * Apply 'foldlevel' to all folds that don't contain the cursor. */ void foldCheckClose(void) { - if (*p_fcl != NUL) /* can only be "all" right now */ + if (*p_fcl != NUL) // can only be "all" right now { checkupdate(curwin); if (checkCloseRec(&curwin->w_folds, curwin->w_cursor.lnum, @@ -524,7 +524,7 @@ foldCheckClose(void) } } -/* checkCloseRec() {{{2 */ +// checkCloseRec() {{{2 static int checkCloseRec(garray_T *gap, linenr_T lnum, int level) { @@ -535,7 +535,7 @@ checkCloseRec(garray_T *gap, linenr_T lnum, int level) fp = (fold_T *)gap->ga_data; for (i = 0; i < gap->ga_len; ++i) { - /* Only manually opened folds may need to be closed. */ + // Only manually opened folds may need to be closed. if (fp[i].fd_flags == FD_OPEN) { if (level <= 0 && (lnum < fp[i].fd_top @@ -552,7 +552,7 @@ checkCloseRec(garray_T *gap, linenr_T lnum, int level) return retval; } -/* foldCreateAllowed() {{{2 */ +// foldCreateAllowed() {{{2 /* * Return TRUE if it's allowed to manually create or delete a fold. * Give an error message and return FALSE if not. @@ -569,7 +569,7 @@ foldManualAllowed(int create) return FALSE; } -/* foldCreate() {{{2 */ +// foldCreate() {{{2 /* * Create a fold from line "start" to line "end" (inclusive) in the current * window. @@ -590,14 +590,14 @@ foldCreate(linenr_T start, linenr_T end) if (start > end) { - /* reverse the range */ + // reverse the range end = start_rel; start = end_rel; start_rel = start; end_rel = end; } - /* When 'foldmethod' is "marker" add markers, which creates the folds. */ + // When 'foldmethod' is "marker" add markers, which creates the folds. if (foldmethodIsMarker(curwin)) { foldCreateMarkers(start, end); @@ -606,7 +606,7 @@ foldCreate(linenr_T start, linenr_T end) checkupdate(curwin); - /* Find the place to insert the new fold. */ + // Find the place to insert the new fold. gap = &curwin->w_folds; for (;;) { @@ -614,7 +614,7 @@ foldCreate(linenr_T start, linenr_T end) break; if (fp->fd_top + fp->fd_len > end_rel) { - /* New fold is completely inside this fold: Go one level deeper. */ + // New fold is completely inside this fold: Go one level deeper. gap = &fp->fd_nested; start_rel -= fp->fd_top; end_rel -= fp->fd_top; @@ -630,8 +630,8 @@ foldCreate(linenr_T start, linenr_T end) } else { - /* This fold and new fold overlap: Insert here and move some folds - * inside the new fold. */ + // This fold and new fold overlap: Insert here and move some folds + // inside the new fold. break; } } @@ -642,45 +642,44 @@ foldCreate(linenr_T start, linenr_T end) fp = (fold_T *)gap->ga_data + i; ga_init2(&fold_ga, (int)sizeof(fold_T), 10); - /* Count number of folds that will be contained in the new fold. */ + // Count number of folds that will be contained in the new fold. for (cont = 0; i + cont < gap->ga_len; ++cont) if (fp[cont].fd_top > end_rel) break; if (cont > 0 && ga_grow(&fold_ga, cont) == OK) { - /* If the first fold starts before the new fold, let the new fold - * start there. Otherwise the existing fold would change. */ + // If the first fold starts before the new fold, let the new fold + // start there. Otherwise the existing fold would change. if (start_rel > fp->fd_top) start_rel = fp->fd_top; - /* When last contained fold isn't completely contained, adjust end - * of new fold. */ + // When last contained fold isn't completely contained, adjust end + // of new fold. if (end_rel < fp[cont - 1].fd_top + fp[cont - 1].fd_len - 1) end_rel = fp[cont - 1].fd_top + fp[cont - 1].fd_len - 1; - /* Move contained folds to inside new fold. */ + // Move contained folds to inside new fold. mch_memmove(fold_ga.ga_data, fp, sizeof(fold_T) * cont); fold_ga.ga_len += cont; i += cont; - /* Adjust line numbers in contained folds to be relative to the - * new fold. */ + // Adjust line numbers in contained folds to be relative to the + // new fold. for (j = 0; j < cont; ++j) ((fold_T *)fold_ga.ga_data)[j].fd_top -= start_rel; } - /* Move remaining entries to after the new fold. */ + // Move remaining entries to after the new fold. if (i < gap->ga_len) mch_memmove(fp + 1, (fold_T *)gap->ga_data + i, sizeof(fold_T) * (gap->ga_len - i)); gap->ga_len = gap->ga_len + 1 - cont; - /* insert new fold */ + // insert new fold fp->fd_nested = fold_ga; fp->fd_top = start_rel; fp->fd_len = end_rel - start_rel + 1; - /* We want the new fold to be closed. If it would remain open because - * of using 'foldlevel', need to adjust fd_flags of containing folds. - */ + // We want the new fold to be closed. If it would remain open because + // of using 'foldlevel', need to adjust fd_flags of containing folds. if (use_level && !closed && level < curwin->w_p_fdl) closeFold(start, 1L); if (!use_level) @@ -688,12 +687,12 @@ foldCreate(linenr_T start, linenr_T end) fp->fd_flags = FD_CLOSED; fp->fd_small = MAYBE; - /* redraw */ + // redraw changed_window_setting(); } } -/* deleteFold() {{{2 */ +// deleteFold() {{{2 /* * Delete a fold at line "start" in the current window. * When "end" is not 0, delete all folds from "start" to "end". @@ -704,7 +703,7 @@ deleteFold( linenr_T start, linenr_T end, int recursive, - int had_visual) /* TRUE when Visual selection used */ + int had_visual) // TRUE when Visual selection used { garray_T *gap; fold_T *fp; @@ -724,7 +723,7 @@ deleteFold( while (lnum <= end) { - /* Find the deepest fold for "start". */ + // Find the deepest fold for "start". gap = &curwin->w_folds; found_ga = NULL; lnum_off = 0; @@ -733,17 +732,17 @@ deleteFold( { if (!foldFind(gap, lnum - lnum_off, &fp)) break; - /* lnum is inside this fold, remember info */ + // lnum is inside this fold, remember info found_ga = gap; found_fp = fp; found_off = lnum_off; - /* if "lnum" is folded, don't check nesting */ + // if "lnum" is folded, don't check nesting if (check_closed(curwin, fp, &use_level, level, &maybe_small, lnum_off)) break; - /* check nested folds */ + // check nested folds gap = &fp->fd_nested; lnum_off += fp->fd_top; ++level; @@ -771,26 +770,26 @@ deleteFold( } did_one = TRUE; - /* redraw window */ + // redraw window changed_window_setting(); } } if (!did_one) { emsg(_(e_nofold)); - /* Force a redraw to remove the Visual highlighting. */ + // Force a redraw to remove the Visual highlighting. if (had_visual) redraw_curbuf_later(INVERTED); } else - /* Deleting markers may make cursor column invalid. */ + // Deleting markers may make cursor column invalid. check_cursor_col(); if (last_lnum > 0) changed_lines(first_lnum, (colnr_T)0, last_lnum, 0L); } -/* clearFolding() {{{2 */ +// clearFolding() {{{2 /* * Remove all folding for window "win". */ @@ -801,7 +800,7 @@ clearFolding(win_T *win) win->w_foldinvalid = FALSE; } -/* foldUpdate() {{{2 */ +// foldUpdate() {{{2 /* * Update folds for changes in the buffer of a window. * Note that inserted/deleted lines must have already been taken care of by @@ -821,7 +820,7 @@ foldUpdate(win_T *wp, linenr_T top, linenr_T bot) return; #endif - /* Mark all folds from top to bot as maybe-small. */ + // Mark all folds from top to bot as maybe-small. (void)foldFind(&wp->w_folds, top, &fp); while (fp < (fold_T *)wp->w_folds.ga_data + wp->w_folds.ga_len && fp->fd_top < bot) @@ -840,14 +839,14 @@ foldUpdate(win_T *wp, linenr_T top, linenr_T bot) { int save_got_int = got_int; - /* reset got_int here, otherwise it won't work */ + // reset got_int here, otherwise it won't work got_int = FALSE; foldUpdateIEMS(wp, top, bot); got_int |= save_got_int; } } -/* foldUpdateAll() {{{2 */ +// foldUpdateAll() {{{2 /* * Update all lines in a window for folding. * Used when a fold setting changes or after reloading the buffer. @@ -861,7 +860,7 @@ foldUpdateAll(win_T *win) redraw_win_later(win, NOT_VALID); } -/* foldMoveTo() {{{2 */ +// foldMoveTo() {{{2 /* * If "updown" is FALSE: Move to the start or end of the fold. * If "updown" is TRUE: move to fold at the same level. @@ -870,7 +869,7 @@ foldUpdateAll(win_T *win) int foldMoveTo( int updown, - int dir, /* FORWARD or BACKWARD */ + int dir, // FORWARD or BACKWARD long count) { long n; @@ -887,11 +886,11 @@ foldMoveTo( checkupdate(curwin); - /* Repeat "count" times. */ + // Repeat "count" times. for (n = 0; n < count; ++n) { - /* Find nested folds. Stop when a fold is closed. The deepest fold - * that moves the cursor is used. */ + // Find nested folds. Stop when a fold is closed. The deepest fold + // that moves the cursor is used. lnum_off = 0; gap = &curwin->w_folds; use_level = FALSE; @@ -906,8 +905,8 @@ foldMoveTo( if (!updown) break; - /* When moving up, consider a fold above the cursor; when - * moving down consider a fold below the cursor. */ + // When moving up, consider a fold above the cursor; when + // moving down consider a fold below the cursor. if (dir == FORWARD) { if (fp - (fold_T *)gap->ga_data >= gap->ga_len) @@ -919,19 +918,19 @@ foldMoveTo( if (fp == (fold_T *)gap->ga_data) break; } - /* don't look for contained folds, they will always move - * the cursor too far. */ + // don't look for contained folds, they will always move + // the cursor too far. last = TRUE; } if (!last) { - /* Check if this fold is closed. */ + // Check if this fold is closed. if (check_closed(curwin, fp, &use_level, level, &maybe_small, lnum_off)) last = TRUE; - /* "[z" and "]z" stop at closed fold */ + // "[z" and "]z" stop at closed fold if (last && !updown) break; } @@ -940,7 +939,7 @@ foldMoveTo( { if (dir == FORWARD) { - /* to start of next fold if there is one */ + // to start of next fold if there is one if (fp + 1 - (fold_T *)gap->ga_data < gap->ga_len) { lnum = fp[1].fd_top + lnum_off; @@ -950,7 +949,7 @@ foldMoveTo( } else { - /* to end of previous fold if there is one */ + // to end of previous fold if there is one if (fp > (fold_T *)gap->ga_data) { lnum = fp[-1].fd_top + lnum_off + fp[-1].fd_len - 1; @@ -961,8 +960,8 @@ foldMoveTo( } else { - /* Open fold found, set cursor to its start/end and then check - * nested folds. */ + // Open fold found, set cursor to its start/end and then check + // nested folds. if (dir == FORWARD) { lnum = fp->fd_top + lnum_off + fp->fd_len - 1; @@ -980,7 +979,7 @@ foldMoveTo( if (last) break; - /* Check nested folds (if any). */ + // Check nested folds (if any). gap = &fp->fd_nested; lnum_off += fp->fd_top; ++level; @@ -1000,7 +999,7 @@ foldMoveTo( return retval; } -/* foldInitWin() {{{2 */ +// foldInitWin() {{{2 /* * Init the fold info in a new window. */ @@ -1010,7 +1009,7 @@ foldInitWin(win_T *new_win) ga_init2(&new_win->w_folds, (int)sizeof(fold_T), 10); } -/* find_wl_entry() {{{2 */ +// find_wl_entry() {{{2 /* * Find an entry in the win->w_lines[] array for buffer line "lnum". * Only valid entries are considered (for entries where wl_valid is FALSE the @@ -1033,7 +1032,7 @@ find_wl_entry(win_T *win, linenr_T lnum) return -1; } -/* foldAdjustVisual() {{{2 */ +// foldAdjustVisual() {{{2 /* * Adjust the Visual area to include any fold at the start or end completely. */ @@ -1064,13 +1063,13 @@ foldAdjustVisual(void) end->col = (colnr_T)STRLEN(ptr); if (end->col > 0 && *p_sel == 'o') --end->col; - /* prevent cursor from moving on the trail byte */ + // prevent cursor from moving on the trail byte if (has_mbyte) mb_adjust_cursor(); } } -/* cursor_foldstart() {{{2 */ +// cursor_foldstart() {{{2 /* * Move the cursor to the first line of a closed fold. */ @@ -1080,8 +1079,8 @@ foldAdjustCursor(void) (void)hasFolding(curwin->w_cursor.lnum, &curwin->w_cursor.lnum, NULL); } -/* Internal functions for "fold_T" {{{1 */ -/* cloneFoldGrowArray() {{{2 */ +// Internal functions for "fold_T" {{{1 +// cloneFoldGrowArray() {{{2 /* * Will "clone" (i.e deep copy) a garray_T of folds. * @@ -1114,7 +1113,7 @@ cloneFoldGrowArray(garray_T *from, garray_T *to) } } -/* foldFind() {{{2 */ +// foldFind() {{{2 /* * Search for line "lnum" in folds of growarray "gap". * Set *fpp to the fold struct for the fold that contains "lnum" or @@ -1140,14 +1139,14 @@ foldFind(garray_T *gap, linenr_T lnum, fold_T **fpp) { i = (low + high) / 2; if (fp[i].fd_top > lnum) - /* fold below lnum, adjust high */ + // fold below lnum, adjust high high = i - 1; else if (fp[i].fd_top + fp[i].fd_len <= lnum) - /* fold above lnum, adjust low */ + // fold above lnum, adjust low low = i + 1; else { - /* lnum is inside this fold */ + // lnum is inside this fold *fpp = fp + i; return TRUE; } @@ -1156,7 +1155,7 @@ foldFind(garray_T *gap, linenr_T lnum, fold_T **fpp) return FALSE; } -/* foldLevelWin() {{{2 */ +// foldLevelWin() {{{2 /* * Return fold level at line number "lnum" in window "wp". */ @@ -1168,13 +1167,13 @@ foldLevelWin(win_T *wp, linenr_T lnum) int level = 0; garray_T *gap; - /* Recursively search for a fold that contains "lnum". */ + // Recursively search for a fold that contains "lnum". gap = &wp->w_folds; for (;;) { if (!foldFind(gap, lnum_rel, &fp)) break; - /* Check nested folds. Line number is relative to containing fold. */ + // Check nested folds. Line number is relative to containing fold. gap = &fp->fd_nested; lnum_rel -= fp->fd_top; ++level; @@ -1183,7 +1182,7 @@ foldLevelWin(win_T *wp, linenr_T lnum) return level; } -/* checkupdate() {{{2 */ +// checkupdate() {{{2 /* * Check if the folds in window "wp" are invalid and update them if needed. */ @@ -1192,12 +1191,12 @@ checkupdate(win_T *wp) { if (wp->w_foldinvalid) { - foldUpdate(wp, (linenr_T)1, (linenr_T)MAXLNUM); /* will update all */ + foldUpdate(wp, (linenr_T)1, (linenr_T)MAXLNUM); // will update all wp->w_foldinvalid = FALSE; } } -/* setFoldRepeat() {{{2 */ +// setFoldRepeat() {{{2 /* * Open or close fold for current window at line "lnum". * Repeat "count" times. @@ -1214,7 +1213,7 @@ setFoldRepeat(linenr_T lnum, long count, int do_open) (void)setManualFold(lnum, do_open, FALSE, &done); if (!(done & DONE_ACTION)) { - /* Only give an error message when no fold could be opened. */ + // Only give an error message when no fold could be opened. if (n == 0 && !(done & DONE_FOLD)) emsg(_(e_nofold)); break; @@ -1222,7 +1221,7 @@ setFoldRepeat(linenr_T lnum, long count, int do_open) } } -/* setManualFold() {{{2 */ +// setManualFold() {{{2 /* * Open or close the fold in the current window which contains "lnum". * Also does this for other windows in diff mode when needed. @@ -1230,8 +1229,8 @@ setFoldRepeat(linenr_T lnum, long count, int do_open) static linenr_T setManualFold( linenr_T lnum, - int opening, /* TRUE when opening, FALSE when closing */ - int recurse, /* TRUE when closing/opening recursive */ + int opening, // TRUE when opening, FALSE when closing + int recurse, // TRUE when closing/opening recursive int *donep) { #ifdef FEAT_DIFF @@ -1259,7 +1258,7 @@ setManualFold( return setManualFoldWin(curwin, lnum, opening, recurse, donep); } -/* setManualFoldWin() {{{2 */ +// setManualFoldWin() {{{2 /* * Open or close the fold in window "wp" which contains "lnum". * "donep", when not NULL, points to flag that is set to DONE_FOLD when some @@ -1273,8 +1272,8 @@ setManualFold( setManualFoldWin( win_T *wp, linenr_T lnum, - int opening, /* TRUE when opening, FALSE when closing */ - int recurse, /* TRUE when closing/opening recursive */ + int opening, // TRUE when opening, FALSE when closing + int recurse, // TRUE when closing/opening recursive int *donep) { fold_T *fp; @@ -1299,20 +1298,20 @@ setManualFoldWin( { if (!foldFind(gap, lnum, &fp)) { - /* If there is a following fold, continue there next time. */ + // If there is a following fold, continue there next time. if (fp < (fold_T *)gap->ga_data + gap->ga_len) next = fp->fd_top + off; break; } - /* lnum is inside this fold */ + // lnum is inside this fold found_fold = TRUE; - /* If there is a following fold, continue there next time. */ + // If there is a following fold, continue there next time. if (fp + 1 < (fold_T *)gap->ga_data + gap->ga_len) next = fp[1].fd_top + off; - /* Change from level-dependent folding to manual. */ + // Change from level-dependent folding to manual. if (use_level || fp->fd_flags == FD_LEVEL) { use_level = TRUE; @@ -1325,7 +1324,7 @@ setManualFoldWin( fp2[j].fd_flags = FD_LEVEL; } - /* Simple case: Close recursively means closing the fold. */ + // Simple case: Close recursively means closing the fold. if (!opening && recurse) { if (fp->fd_flags != FD_CLOSED) @@ -1336,7 +1335,7 @@ setManualFoldWin( } else if (fp->fd_flags == FD_CLOSED) { - /* When opening, open topmost closed fold. */ + // When opening, open topmost closed fold. if (opening) { fp->fd_flags = FD_OPEN; @@ -1347,7 +1346,7 @@ setManualFoldWin( break; } - /* fold is open, check nested folds */ + // fold is open, check nested folds found = fp; gap = &fp->fd_nested; lnum -= fp->fd_top; @@ -1356,7 +1355,7 @@ setManualFoldWin( } if (found_fold) { - /* When closing and not recurse, close deepest open fold. */ + // When closing and not recurse, close deepest open fold. if (!opening && found != NULL) { found->fd_flags = FD_CLOSED; @@ -1376,7 +1375,7 @@ setManualFoldWin( return next; } -/* foldOpenNested() {{{2 */ +// foldOpenNested() {{{2 /* * Open all nested folds in fold "fpr" recursively. */ @@ -1394,7 +1393,7 @@ foldOpenNested(fold_T *fpr) } } -/* deleteFoldEntry() {{{2 */ +// deleteFoldEntry() {{{2 /* * Delete fold "idx" from growarray "gap". * When "recursive" is TRUE also delete all the folds contained in it. @@ -1411,7 +1410,7 @@ deleteFoldEntry(garray_T *gap, int idx, int recursive) fp = (fold_T *)gap->ga_data + idx; if (recursive || fp->fd_nested.ga_len == 0) { - /* recursively delete the contained folds */ + // recursively delete the contained folds deleteFoldRecurse(&fp->fd_nested); --gap->ga_len; if (idx < gap->ga_len) @@ -1419,15 +1418,15 @@ deleteFoldEntry(garray_T *gap, int idx, int recursive) } else { - /* Move nested folds one level up, to overwrite the fold that is - * deleted. */ + // Move nested folds one level up, to overwrite the fold that is + // deleted. moved = fp->fd_nested.ga_len; if (ga_grow(gap, (int)(moved - 1)) == OK) { - /* Get "fp" again, the array may have been reallocated. */ + // Get "fp" again, the array may have been reallocated. fp = (fold_T *)gap->ga_data + idx; - /* adjust fd_top and fd_flags for the moved folds */ + // adjust fd_top and fd_flags for the moved folds nfp = (fold_T *)fp->fd_nested.ga_data; for (i = 0; i < moved; ++i) { @@ -1438,11 +1437,11 @@ deleteFoldEntry(garray_T *gap, int idx, int recursive) nfp[i].fd_small = MAYBE; } - /* move the existing folds down to make room */ + // move the existing folds down to make room if (idx + 1 < gap->ga_len) mch_memmove(fp + moved, fp + 1, sizeof(fold_T) * (gap->ga_len - (idx + 1))); - /* move the contained folds one level up */ + // move the contained folds one level up mch_memmove(fp, nfp, (size_t)(sizeof(fold_T) * moved)); vim_free(nfp); gap->ga_len += moved - 1; @@ -1450,7 +1449,7 @@ deleteFoldEntry(garray_T *gap, int idx, int recursive) } } -/* deleteFoldRecurse() {{{2 */ +// deleteFoldRecurse() {{{2 /* * Delete nested folds in a fold. */ @@ -1464,7 +1463,7 @@ deleteFoldRecurse(garray_T *gap) ga_clear(gap); } -/* foldMarkAdjust() {{{2 */ +// foldMarkAdjust() {{{2 /* * Update line numbers of folds for inserted/deleted lines. */ @@ -1476,18 +1475,18 @@ foldMarkAdjust( long amount, long amount_after) { - /* If deleting marks from line1 to line2, but not deleting all those - * lines, set line2 so that only deleted lines have their folds removed. */ + // If deleting marks from line1 to line2, but not deleting all those + // lines, set line2 so that only deleted lines have their folds removed. if (amount == MAXLNUM && line2 >= line1 && line2 - line1 >= -amount_after) line2 = line1 - amount_after - 1; - /* If appending a line in Insert mode, it should be included in the fold - * just above the line. */ + // If appending a line in Insert mode, it should be included in the fold + // just above the line. if ((State & INSERT) && amount == (linenr_T)1 && line2 == MAXLNUM) --line1; foldMarkAdjustRecurse(&wp->w_folds, line1, line2, amount, amount_after); } -/* foldMarkAdjustRecurse() {{{2 */ +// foldMarkAdjustRecurse() {{{2 static void foldMarkAdjustRecurse( garray_T *gap, @@ -1501,14 +1500,14 @@ foldMarkAdjustRecurse( linenr_T last; linenr_T top; - /* In Insert mode an inserted line at the top of a fold is considered part - * of the fold, otherwise it isn't. */ + // In Insert mode an inserted line at the top of a fold is considered part + // of the fold, otherwise it isn't. if ((State & INSERT) && amount == (linenr_T)1 && line2 == MAXLNUM) top = line1 + 1; else top = line1; - /* Find the fold containing or just below "line1". */ + // Find the fold containing or just below "line1". (void)foldFind(gap, line1, &fp); /* @@ -1528,13 +1527,13 @@ foldMarkAdjustRecurse( * 3 5 6 */ - last = fp->fd_top + fp->fd_len - 1; /* last line of fold */ + last = fp->fd_top + fp->fd_len - 1; // last line of fold - /* 1. fold completely above line1: nothing to do */ + // 1. fold completely above line1: nothing to do if (last < line1) continue; - /* 6. fold below line2: only adjust for amount_after */ + // 6. fold below line2: only adjust for amount_after if (fp->fd_top > line2) { if (amount_after == 0) @@ -1545,12 +1544,12 @@ foldMarkAdjustRecurse( { if (fp->fd_top >= top && last <= line2) { - /* 4. fold completely contained in range */ + // 4. fold completely contained in range if (amount == MAXLNUM) { - /* Deleting lines: delete the fold completely */ + // Deleting lines: delete the fold completely deleteFoldEntry(gap, i, TRUE); - --i; /* adjust index for deletion */ + --i; // adjust index for deletion --fp; } else @@ -1560,12 +1559,12 @@ foldMarkAdjustRecurse( { if (fp->fd_top < top) { - /* 2 or 3: need to correct nested folds too */ + // 2 or 3: need to correct nested folds too foldMarkAdjustRecurse(&fp->fd_nested, line1 - fp->fd_top, line2 - fp->fd_top, amount, amount_after); if (last <= line2) { - /* 2. fold contains line1, line2 is below fold */ + // 2. fold contains line1, line2 is below fold if (amount == MAXLNUM) fp->fd_len = line1 - fp->fd_top; else @@ -1573,14 +1572,14 @@ foldMarkAdjustRecurse( } else { - /* 3. fold contains line1 and line2 */ + // 3. fold contains line1 and line2 fp->fd_len += amount_after; } } else { - /* 5. fold is below line1 and contains line2; need to - * correct nested folds too */ + // 5. fold is below line1 and contains line2; need to + // correct nested folds too if (amount == MAXLNUM) { foldMarkAdjustRecurse(&fp->fd_nested, @@ -1607,7 +1606,7 @@ foldMarkAdjustRecurse( } } -/* getDeepestNesting() {{{2 */ +// getDeepestNesting() {{{2 /* * Get the lowest 'foldlevel' value that makes the deepest nested fold in the * current window open. @@ -1638,7 +1637,7 @@ getDeepestNestingRecurse(garray_T *gap) return maxlevel; } -/* check_closed() {{{2 */ +// check_closed() {{{2 /* * Check if a fold is closed and update the info needed to check nested folds. */ @@ -1646,15 +1645,15 @@ getDeepestNestingRecurse(garray_T *gap) check_closed( win_T *win, fold_T *fp, - int *use_levelp, /* TRUE: outer fold had FD_LEVEL */ - int level, /* folding depth */ - int *maybe_smallp, /* TRUE: outer this had fd_small == MAYBE */ - linenr_T lnum_off) /* line number offset for fp->fd_top */ + int *use_levelp, // TRUE: outer fold had FD_LEVEL + int level, // folding depth + int *maybe_smallp, // TRUE: outer this had fd_small == MAYBE + linenr_T lnum_off) // line number offset for fp->fd_top { int closed = FALSE; - /* Check if this fold is closed. If the flag is FD_LEVEL this - * fold and all folds it contains depend on 'foldlevel'. */ + // Check if this fold is closed. If the flag is FD_LEVEL this + // fold and all folds it contains depend on 'foldlevel'. if (*use_levelp || fp->fd_flags == FD_LEVEL) { *use_levelp = TRUE; @@ -1664,7 +1663,7 @@ check_closed( else if (fp->fd_flags == FD_CLOSED) closed = TRUE; - /* Small fold isn't closed anyway. */ + // Small fold isn't closed anyway. if (fp->fd_small == MAYBE) *maybe_smallp = TRUE; if (closed) @@ -1678,7 +1677,7 @@ check_closed( return closed; } -/* checkSmall() {{{2 */ +// checkSmall() {{{2 /* * Update fd_small field of fold "fp". */ @@ -1686,14 +1685,14 @@ check_closed( checkSmall( win_T *wp, fold_T *fp, - linenr_T lnum_off) /* offset for fp->fd_top */ + linenr_T lnum_off) // offset for fp->fd_top { int count; int n; if (fp->fd_small == MAYBE) { - /* Mark any nested folds to maybe-small */ + // Mark any nested folds to maybe-small setSmallMaybe(&fp->fd_nested); if (fp->fd_len > curwin->w_p_fml) @@ -1715,7 +1714,7 @@ checkSmall( } } -/* setSmallMaybe() {{{2 */ +// setSmallMaybe() {{{2 /* * Set small flags in "gap" to MAYBE. */ @@ -1730,7 +1729,7 @@ setSmallMaybe(garray_T *gap) fp[i].fd_small = MAYBE; } -/* foldCreateMarkers() {{{2 */ +// foldCreateMarkers() {{{2 /* * Create a fold from line "start" to line "end" (inclusive) in the current * window by adding markers. @@ -1748,12 +1747,12 @@ foldCreateMarkers(linenr_T start, linenr_T end) foldAddMarker(start, curwin->w_p_fmr, foldstartmarkerlen); foldAddMarker(end, foldendmarker, foldendmarkerlen); - /* Update both changes here, to avoid all folds after the start are - * changed when the start marker is inserted and the end isn't. */ + // Update both changes here, to avoid all folds after the start are + // changed when the start marker is inserted and the end isn't. changed_lines(start, (colnr_T)0, end, 0L); } -/* foldAddMarker() {{{2 */ +// foldAddMarker() {{{2 /* * Add "marker[markerlen]" in 'commentstring' to line "lnum". */ @@ -1767,19 +1766,19 @@ foldAddMarker(linenr_T lnum, char_u *marker, int markerlen) char_u *p = (char_u *)strstr((char *)curbuf->b_p_cms, "%s"); int line_is_comment = FALSE; - /* Allocate a new line: old-line + 'cms'-start + marker + 'cms'-end */ + // Allocate a new line: old-line + 'cms'-start + marker + 'cms'-end line = ml_get(lnum); line_len = (int)STRLEN(line); if (u_save(lnum - 1, lnum + 1) == OK) { - /* Check if the line ends with an unclosed comment */ + // Check if the line ends with an unclosed comment (void)skip_comment(line, FALSE, FALSE, &line_is_comment); newline = alloc(line_len + markerlen + STRLEN(cms) + 1); if (newline == NULL) return; STRCPY(newline, line); - /* Append the marker to the end of the line */ + // Append the marker to the end of the line if (p == NULL || line_is_comment) vim_strncpy(newline + line_len, marker, markerlen); else @@ -1793,7 +1792,7 @@ foldAddMarker(linenr_T lnum, char_u *marker, int markerlen) } } -/* deleteFoldMarkers() {{{2 */ +// deleteFoldMarkers() {{{2 /* * Delete the markers for a fold, causing it to be deleted. */ @@ -1801,7 +1800,7 @@ foldAddMarker(linenr_T lnum, char_u *marker, int markerlen) deleteFoldMarkers( fold_T *fp, int recursive, - linenr_T lnum_off) /* offset for fp->fd_top */ + linenr_T lnum_off) // offset for fp->fd_top { int i; @@ -1814,7 +1813,7 @@ deleteFoldMarkers( foldendmarker, foldendmarkerlen); } -/* foldDelMarker() {{{2 */ +// foldDelMarker() {{{2 /* * Delete marker "marker[markerlen]" at the end of line "lnum". * Delete 'commentstring' if it matches. @@ -1838,13 +1837,13 @@ foldDelMarker(linenr_T lnum, char_u *marker, int markerlen) for (p = line; *p != NUL; ++p) if (STRNCMP(p, marker, markerlen) == 0) { - /* Found the marker, include a digit if it's there. */ + // Found the marker, include a digit if it's there. len = markerlen; if (VIM_ISDIGIT(p[len])) ++len; if (*cms != NUL) { - /* Also delete 'commentstring' if it matches. */ + // Also delete 'commentstring' if it matches. cms2 = (char_u *)strstr((char *)cms, "%s"); if (p - line >= cms2 - cms && STRNCMP(p - (cms2 - cms), cms, cms2 - cms) == 0 @@ -1856,7 +1855,7 @@ foldDelMarker(linenr_T lnum, char_u *marker, int markerlen) } if (u_save(lnum - 1, lnum + 1) == OK) { - /* Make new line: text-before-marker + text-after-marker */ + // Make new line: text-before-marker + text-after-marker newline = alloc(STRLEN(line) - len + 1); if (newline != NULL) { @@ -1869,7 +1868,7 @@ foldDelMarker(linenr_T lnum, char_u *marker, int markerlen) } } -/* get_foldtext() {{{2 */ +// get_foldtext() {{{2 /* * Return the text for a closed fold at line "lnum", with last line "lnume". * When 'foldtext' isn't set puts the result in "buf[FOLD_TEXT_LEN]". @@ -1885,7 +1884,7 @@ get_foldtext( { char_u *text = NULL; #ifdef FEAT_EVAL - /* an error occurred when evaluating 'fdt' setting */ + // an error occurred when evaluating 'fdt' setting static int got_fdt_error = FALSE; int save_did_emsg = did_emsg; static win_T *last_wp = NULL; @@ -1893,11 +1892,11 @@ get_foldtext( if (last_wp != wp || last_wp == NULL || last_lnum > lnum || last_lnum == 0) - /* window changed, try evaluating foldtext setting once again */ + // window changed, try evaluating foldtext setting once again got_fdt_error = FALSE; if (!got_fdt_error) - /* a previous error should not abort evaluating 'foldexpr' */ + // a previous error should not abort evaluating 'foldexpr' did_emsg = FALSE; if (*wp->w_p_fdt != NUL) @@ -1907,12 +1906,12 @@ get_foldtext( int level; char_u *p; - /* Set "v:foldstart" and "v:foldend". */ + // Set "v:foldstart" and "v:foldend". set_vim_var_nr(VV_FOLDSTART, lnum); set_vim_var_nr(VV_FOLDEND, lnume); - /* Set "v:folddashes" to a string of "level" dashes. */ - /* Set "v:foldlevel" to "level". */ + // Set "v:folddashes" to a string of "level" dashes. + // Set "v:foldlevel" to "level". level = foldinfo->fi_level; if (level > (int)sizeof(dashes) - 1) level = (int)sizeof(dashes) - 1; @@ -1921,14 +1920,14 @@ get_foldtext( set_vim_var_string(VV_FOLDDASHES, dashes, -1); set_vim_var_nr(VV_FOLDLEVEL, (long)level); - /* skip evaluating foldtext on errors */ + // skip evaluating foldtext on errors if (!got_fdt_error) { save_curwin = curwin; curwin = wp; curbuf = wp->w_buffer; - ++emsg_silent; /* handle exceptions, but don't display errors */ + ++emsg_silent; // handle exceptions, but don't display errors text = eval_to_string_safe(wp->w_p_fdt, NULL, was_set_insecurely((char_u *)"foldtext", OPT_LOCAL)); --emsg_silent; @@ -1948,8 +1947,8 @@ get_foldtext( if (text != NULL) { - /* Replace unprintable characters, if there are any. But - * replace a TAB with a space. */ + // Replace unprintable characters, if there are any. But + // replace a TAB with a space. for (p = text; *p != NUL; ++p) { int len; @@ -1988,7 +1987,7 @@ get_foldtext( return text; } -/* foldtext_cleanup() {{{2 */ +// foldtext_cleanup() {{{2 #ifdef FEAT_EVAL /* * Remove 'foldmarker' and 'commentstring' from "str" (in-place). @@ -1996,34 +1995,34 @@ get_foldtext( static void foldtext_cleanup(char_u *str) { - char_u *cms_start; /* first part or the whole comment */ - int cms_slen = 0; /* length of cms_start */ - char_u *cms_end; /* last part of the comment or NULL */ - int cms_elen = 0; /* length of cms_end */ + char_u *cms_start; // first part or the whole comment + int cms_slen = 0; // length of cms_start + char_u *cms_end; // last part of the comment or NULL + int cms_elen = 0; // length of cms_end char_u *s; char_u *p; int len; int did1 = FALSE; int did2 = FALSE; - /* Ignore leading and trailing white space in 'commentstring'. */ + // Ignore leading and trailing white space in 'commentstring'. cms_start = skipwhite(curbuf->b_p_cms); cms_slen = (int)STRLEN(cms_start); while (cms_slen > 0 && VIM_ISWHITE(cms_start[cms_slen - 1])) --cms_slen; - /* locate "%s" in 'commentstring', use the part before and after it. */ + // locate "%s" in 'commentstring', use the part before and after it. cms_end = (char_u *)strstr((char *)cms_start, "%s"); if (cms_end != NULL) { cms_elen = cms_slen - (int)(cms_end - cms_start); cms_slen = (int)(cms_end - cms_start); - /* exclude white space before "%s" */ + // exclude white space before "%s" while (cms_slen > 0 && VIM_ISWHITE(cms_start[cms_slen - 1])) --cms_slen; - /* skip "%s" and white space after it */ + // skip "%s" and white space after it s = skipwhite(cms_end + 2); cms_elen -= (int)(s - cms_end); cms_end = s; @@ -2042,8 +2041,8 @@ foldtext_cleanup(char_u *str) if (VIM_ISDIGIT(s[len])) ++len; - /* May remove 'commentstring' start. Useful when it's a double - * quote and we already removed a double quote. */ + // May remove 'commentstring' start. Useful when it's a double + // quote and we already removed a double quote. for (p = s; p > str && VIM_ISWHITE(p[-1]); --p) ; if (p >= str + cms_slen @@ -2081,28 +2080,28 @@ foldtext_cleanup(char_u *str) } #endif -/* Folding by indent, expr, marker and syntax. {{{1 */ -/* Define "fline_T", passed to get fold level for a line. {{{2 */ +// Folding by indent, expr, marker and syntax. {{{1 +// Define "fline_T", passed to get fold level for a line. {{{2 typedef struct { - win_T *wp; /* window */ - linenr_T lnum; /* current line number */ - linenr_T off; /* offset between lnum and real line number */ - linenr_T lnum_save; /* line nr used by foldUpdateIEMSRecurse() */ - int lvl; /* current level (-1 for undefined) */ - int lvl_next; /* level used for next line */ - int start; /* number of folds that are forced to start at - this line. */ - int end; /* level of fold that is forced to end below - this line */ - int had_end; /* level of fold that is forced to end above - this line (copy of "end" of prev. line) */ + win_T *wp; // window + linenr_T lnum; // current line number + linenr_T off; // offset between lnum and real line number + linenr_T lnum_save; // line nr used by foldUpdateIEMSRecurse() + int lvl; // current level (-1 for undefined) + int lvl_next; // level used for next line + int start; // number of folds that are forced to start at + // this line. + int end; // level of fold that is forced to end below + // this line + int had_end; // level of fold that is forced to end above + // this line (copy of "end" of prev. line) } fline_T; -/* Flag is set when redrawing is needed. */ +// Flag is set when redrawing is needed. static int fold_changed; -/* Function declarations. {{{2 */ +// Function declarations. {{{2 static linenr_T foldUpdateIEMSRecurse(garray_T *gap, int level, linenr_T startlnum, fline_T *flp, void (*getlevel)(fline_T *), linenr_T bot, int topflags); static int foldInsert(garray_T *gap, int i); static void foldSplit(garray_T *gap, int i, linenr_T top, linenr_T bot); @@ -2116,7 +2115,7 @@ static void foldlevelExpr(fline_T *flp); static void foldlevelMarker(fline_T *flp); static void foldlevelSyntax(fline_T *flp); -/* foldUpdateIEMS() {{{2 */ +// foldUpdateIEMS() {{{2 /* * Update the folding for window "wp", at least from lines "top" to "bot". * Return TRUE if any folds did change. @@ -2131,23 +2130,23 @@ foldUpdateIEMS(win_T *wp, linenr_T top, linenr_T bot) int level; fold_T *fp; - /* Avoid problems when being called recursively. */ + // Avoid problems when being called recursively. if (invalid_top != (linenr_T)0) return; if (wp->w_foldinvalid) { - /* Need to update all folds. */ + // Need to update all folds. top = 1; bot = wp->w_buffer->b_ml.ml_line_count; wp->w_foldinvalid = FALSE; - /* Mark all folds a maybe-small. */ + // Mark all folds a maybe-small. setSmallMaybe(&wp->w_folds); } #ifdef FEAT_DIFF - /* add the context for "diff" folding */ + // add the context for "diff" folding if (foldmethodIsDiff(wp)) { if (top > diff_context) @@ -2158,8 +2157,8 @@ foldUpdateIEMS(win_T *wp, linenr_T top, linenr_T bot) } #endif - /* When deleting lines at the end of the buffer "top" can be past the end - * of the buffer. */ + // When deleting lines at the end of the buffer "top" can be past the end + // of the buffer. if (top > wp->w_buffer->b_ml.ml_line_count) top = wp->w_buffer->b_ml.ml_line_count; @@ -2179,24 +2178,24 @@ foldUpdateIEMS(win_T *wp, linenr_T top, linenr_T bot) { getlevel = foldlevelMarker; - /* Init marker variables to speed up foldlevelMarker(). */ + // Init marker variables to speed up foldlevelMarker(). parseMarker(wp); - /* Need to get the level of the line above top, it is used if there is - * no marker at the top. */ + // Need to get the level of the line above top, it is used if there is + // no marker at the top. if (top > 1) { - /* Get the fold level at top - 1. */ + // Get the fold level at top - 1. level = foldLevelWin(wp, top - 1); - /* The fold may end just above the top, check for that. */ + // The fold may end just above the top, check for that. fline.lnum = top - 1; fline.lvl = level; getlevel(&fline); - /* If a fold started here, we already had the level, if it stops - * here, we need to use lvl_next. Could also start and end a fold - * in the same line. */ + // If a fold started here, we already had the level, if it stops + // here, we need to use lvl_next. Could also start and end a fold + // in the same line. if (fline.lvl > level) fline.lvl = level - (fline.lvl - fline.lvl_next); else @@ -2211,8 +2210,8 @@ foldUpdateIEMS(win_T *wp, linenr_T top, linenr_T bot) if (foldmethodIsExpr(wp)) { getlevel = foldlevelExpr; - /* start one line back, because a "<1" may indicate the end of a - * fold in the topline */ + // start one line back, because a "<1" may indicate the end of a + // fold in the topline if (top > 1) --fline.lnum; } @@ -2225,13 +2224,13 @@ foldUpdateIEMS(win_T *wp, linenr_T top, linenr_T bot) else getlevel = foldlevelIndent; - /* Backup to a line for which the fold level is defined. Since it's - * always defined for line one, we will stop there. */ + // Backup to a line for which the fold level is defined. Since it's + // always defined for line one, we will stop there. fline.lvl = -1; for ( ; !got_int; --fline.lnum) { - /* Reset lvl_next each time, because it will be set to a value for - * the next line, but we search backwards here. */ + // Reset lvl_next each time, because it will be set to a value for + // the next line, but we search backwards here. fline.lvl_next = -1; getlevel(&fline); if (fline.lvl >= 0) @@ -2275,20 +2274,20 @@ foldUpdateIEMS(win_T *wp, linenr_T top, linenr_T bot) start = fline.lnum; end = bot; - /* Do at least one line. */ + // Do at least one line. if (start > end && end < wp->w_buffer->b_ml.ml_line_count) end = start; while (!got_int) { - /* Always stop at the end of the file ("end" can be past the end of - * the file). */ + // Always stop at the end of the file ("end" can be past the end of + // the file). if (fline.lnum > wp->w_buffer->b_ml.ml_line_count) break; if (fline.lnum > end) { - /* For "marker", "expr" and "syntax" methods: If a change caused - * a fold to be removed, we need to continue at least until where - * it ended. */ + // For "marker", "expr" and "syntax" methods: If a change caused + // a fold to be removed, we need to continue at least until where + // it ended. if (getlevel != foldlevelMarker && getlevel != foldlevelSyntax && getlevel != foldlevelExpr) @@ -2302,15 +2301,15 @@ foldUpdateIEMS(win_T *wp, linenr_T top, linenr_T bot) end = fp->fd_top + fp->fd_len - 1; else if (getlevel == foldlevelSyntax && foldLevelWin(wp, fline.lnum) != fline.lvl) - /* For "syntax" method: Compare the foldlevel that the syntax - * tells us to the foldlevel from the existing folds. If they - * don't match continue updating folds. */ + // For "syntax" method: Compare the foldlevel that the syntax + // tells us to the foldlevel from the existing folds. If they + // don't match continue updating folds. end = fline.lnum; else break; } - /* A level 1 fold starts at a line with foldlevel > 0. */ + // A level 1 fold starts at a line with foldlevel > 0. if (fline.lvl > 0) { invalid_top = fline.lnum; @@ -2329,16 +2328,16 @@ foldUpdateIEMS(win_T *wp, linenr_T top, linenr_T bot) } } - /* There can't be any folds from start until end now. */ + // There can't be any folds from start until end now. foldRemove(&wp->w_folds, start, end); - /* If some fold changed, need to redraw and position cursor. */ + // If some fold changed, need to redraw and position cursor. if (fold_changed && wp->w_p_fen) changed_window_setting_win(wp); - /* If we updated folds past "bot", need to redraw more lines. Don't do - * this in other situations, the changed lines will be redrawn anyway and - * this method can cause the whole window to be updated. */ + // If we updated folds past "bot", need to redraw more lines. Don't do + // this in other situations, the changed lines will be redrawn anyway and + // this method can cause the whole window to be updated. if (end != bot) { if (wp->w_redraw_top == 0 || wp->w_redraw_top > top) @@ -2350,7 +2349,7 @@ foldUpdateIEMS(win_T *wp, linenr_T top, linenr_T bot) invalid_top = (linenr_T)0; } -/* foldUpdateIEMSRecurse() {{{2 */ +// foldUpdateIEMSRecurse() {{{2 /* * Update a fold that starts at "flp->lnum". At this line there is always a * valid foldlevel, and its level >= "level". @@ -2382,14 +2381,14 @@ foldUpdateIEMSRecurse( fline_T *flp, void (*getlevel)(fline_T *), linenr_T bot, - int topflags) /* flags used by containing fold */ + int topflags) // flags used by containing fold { linenr_T ll; fold_T *fp = NULL; fold_T *fp2; int lvl = level; linenr_T startlnum2 = startlnum; - linenr_T firstlnum = flp->lnum; /* first lnum we got */ + linenr_T firstlnum = flp->lnum; // first lnum we got int i; int finish = FALSE; linenr_T linecount = flp->wp->w_buffer->b_ml.ml_line_count - flp->off; @@ -2424,13 +2423,13 @@ foldUpdateIEMSRecurse( flp->lnum_save = flp->lnum; while (!got_int) { - /* Updating folds can be slow, check for CTRL-C. */ + // Updating folds can be slow, check for CTRL-C. line_breakcheck(); - /* Set "lvl" to the level of line "flp->lnum". When flp->start is set - * and after the first line of the fold, set the level to zero to - * force the fold to end. Do the same when had_end is set: Previous - * line was marked as end of a fold. */ + // Set "lvl" to the level of line "flp->lnum". When flp->start is set + // and after the first line of the fold, set the level to zero to + // force the fold to end. Do the same when had_end is set: Previous + // line was marked as end of a fold. lvl = flp->lvl; if (lvl > MAX_LEVEL) lvl = MAX_LEVEL; @@ -2440,12 +2439,11 @@ foldUpdateIEMSRecurse( if (flp->lnum > bot && !finish && fp != NULL) { - /* For "marker" and "syntax" methods: - * - If a change caused a nested fold to be removed, we need to - * delete it and continue at least until where it ended. - * - If a change caused a nested fold to be created, or this fold - * to continue below its original end, need to finish this fold. - */ + // For "marker" and "syntax" methods: + // - If a change caused a nested fold to be removed, we need to + // delete it and continue at least until where it ended. + // - If a change caused a nested fold to be created, or this fold + // to continue below its original end, need to finish this fold. if (getlevel != foldlevelMarker && getlevel != foldlevelExpr && getlevel != foldlevelSyntax) @@ -2454,9 +2452,9 @@ foldUpdateIEMSRecurse( fp2 = fp; if (lvl >= level) { - /* Compute how deep the folds currently are, if it's deeper - * than "lvl" then some must be deleted, need to update - * at least one nested fold. */ + // Compute how deep the folds currently are, if it's deeper + // than "lvl" then some must be deleted, need to update + // at least one nested fold. ll = flp->lnum - fp->fd_top; while (foldFind(&fp2->fd_nested, ll, &fp2)) { @@ -2476,9 +2474,9 @@ foldUpdateIEMSRecurse( break; } - /* At the start of the first nested fold and at the end of the current - * fold: check if existing folds at this level, before the current - * one, need to be deleted or truncated. */ + // At the start of the first nested fold and at the end of the current + // fold: check if existing folds at this level, before the current + // one, need to be deleted or truncated. if (fp == NULL && (lvl != level || flp->lnum_save >= bot @@ -2492,16 +2490,16 @@ foldUpdateIEMSRecurse( */ while (!got_int) { - /* set concat to 1 if it's allowed to concatenated this fold - * with a previous one that touches it. */ + // set concat to 1 if it's allowed to concatenated this fold + // with a previous one that touches it. if (flp->start != 0 || flp->had_end <= MAX_LEVEL) concat = 0; else concat = 1; - /* Find an existing fold to re-use. Preferably one that - * includes startlnum, otherwise one that ends just before - * startlnum or starts after it. */ + // Find an existing fold to re-use. Preferably one that + // includes startlnum, otherwise one that ends just before + // startlnum or starts after it. if (foldFind(gap, startlnum, &fp) || (fp < ((fold_T *)gap->ga_data) + gap->ga_len && fp->fd_top <= firstlnum) @@ -2513,23 +2511,23 @@ foldUpdateIEMSRecurse( { if (fp->fd_top + fp->fd_len + concat > firstlnum) { - /* Use existing fold for the new fold. If it starts - * before where we started looking, extend it. If it - * starts at another line, update nested folds to keep - * their position, compensating for the new fd_top. */ + // Use existing fold for the new fold. If it starts + // before where we started looking, extend it. If it + // starts at another line, update nested folds to keep + // their position, compensating for the new fd_top. if (fp->fd_top == firstlnum) { - /* have found a fold beginning where we want */ + // have found a fold beginning where we want } else if (fp->fd_top >= startlnum) { if (fp->fd_top > firstlnum) - /* like lines are inserted */ + // like lines are inserted foldMarkAdjustRecurse(&fp->fd_nested, (linenr_T)0, (linenr_T)MAXLNUM, (long)(fp->fd_top - firstlnum), 0L); else - /* like lines are deleted */ + // like lines are deleted foldMarkAdjustRecurse(&fp->fd_nested, (linenr_T)0, (long)(firstlnum - fp->fd_top - 1), @@ -2577,9 +2575,9 @@ foldUpdateIEMSRecurse( foldSplit(gap, i, breakstart, breakend - 1); fp = (fold_T *)gap->ga_data + i + 1; - /* If using the "marker" or "syntax" method, we - * need to continue until the end of the fold is - * found. */ + // If using the "marker" or "syntax" method, we + // need to continue until the end of the fold is + // found. if (getlevel == foldlevelMarker || getlevel == foldlevelExpr || getlevel == foldlevelSyntax) @@ -2603,16 +2601,16 @@ foldUpdateIEMSRecurse( } if (fp->fd_top >= startlnum) { - /* A fold that starts at or after startlnum and stops - * before the new fold must be deleted. Continue - * looking for the next one. */ + // A fold that starts at or after startlnum and stops + // before the new fold must be deleted. Continue + // looking for the next one. deleteFoldEntry(gap, (int)(fp - (fold_T *)gap->ga_data), TRUE); } else { - /* A fold has some lines above startlnum, truncate it - * to stop just above startlnum. */ + // A fold has some lines above startlnum, truncate it + // to stop just above startlnum. fp->fd_len = startlnum - fp->fd_top; foldMarkAdjustRecurse(&fp->fd_nested, (linenr_T)fp->fd_len, (linenr_T)MAXLNUM, @@ -2622,19 +2620,19 @@ foldUpdateIEMSRecurse( } else { - /* Insert new fold. Careful: ga_data may be NULL and it - * may change! */ + // Insert new fold. Careful: ga_data may be NULL and it + // may change! i = (int)(fp - (fold_T *)gap->ga_data); if (foldInsert(gap, i) != OK) return bot; fp = (fold_T *)gap->ga_data + i; - /* The new fold continues until bot, unless we find the - * end earlier. */ + // The new fold continues until bot, unless we find the + // end earlier. fp->fd_top = firstlnum; fp->fd_len = bot - firstlnum + 1; - /* When the containing fold is open, the new fold is open. - * The new fold is closed if the fold above it is closed. - * The first fold depends on the containing fold. */ + // When the containing fold is open, the new fold is open. + // The new fold is closed if the fold above it is closed. + // The first fold depends on the containing fold. if (topflags == FD_OPEN) { flp->wp->w_fold_manual = TRUE; @@ -2649,8 +2647,8 @@ foldUpdateIEMSRecurse( else fp->fd_flags = (fp - 1)->fd_flags; fp->fd_small = MAYBE; - /* If using the "marker", "expr" or "syntax" method, we - * need to continue until the end of the fold is found. */ + // If using the "marker", "expr" or "syntax" method, we + // need to continue until the end of the fold is found. if (getlevel == foldlevelMarker || getlevel == foldlevelExpr || getlevel == foldlevelSyntax) @@ -2679,12 +2677,12 @@ foldUpdateIEMSRecurse( /* * There is a nested fold, handle it recursively. */ - /* At least do one line (can happen when finish is TRUE). */ + // At least do one line (can happen when finish is TRUE). if (bot < flp->lnum) bot = flp->lnum; - /* Line numbers in the nested fold are relative to the start of - * this fold. */ + // Line numbers in the nested fold are relative to the start of + // this fold. flp->lnum = flp->lnum_save - fp->fd_top; flp->off += fp->fd_top; i = (int)(fp - (fold_T *)gap->ga_data); @@ -2698,7 +2696,7 @@ foldUpdateIEMSRecurse( bot += fp->fd_top; startlnum2 = flp->lnum; - /* This fold may end at the same line, don't incr. flp->lnum. */ + // This fold may end at the same line, don't incr. flp->lnum. } else { @@ -2712,7 +2710,7 @@ foldUpdateIEMSRecurse( ll = flp->lnum + 1; while (!got_int) { - /* Make the previous level available to foldlevel(). */ + // Make the previous level available to foldlevel(). prev_lnum = flp->lnum; prev_lnum_lvl = flp->lvl; @@ -2727,14 +2725,14 @@ foldUpdateIEMSRecurse( if (flp->lnum > linecount) break; - /* leave flp->lnum_save to lnum of the line that was used to get - * the level, flp->lnum to the lnum of the next line. */ + // leave flp->lnum_save to lnum of the line that was used to get + // the level, flp->lnum to the lnum of the next line. flp->lnum_save = flp->lnum; flp->lnum = ll; } } - if (fp == NULL) /* only happens when got_int is set */ + if (fp == NULL) // only happens when got_int is set return bot; /* @@ -2761,25 +2759,25 @@ foldUpdateIEMSRecurse( if (lvl < level) { - /* End of fold found, update the length when it got shorter. */ + // End of fold found, update the length when it got shorter. if (fp->fd_len != flp->lnum - fp->fd_top) { if (fp->fd_top + fp->fd_len - 1 > bot) { - /* fold continued below bot */ + // fold continued below bot if (getlevel == foldlevelMarker || getlevel == foldlevelExpr || getlevel == foldlevelSyntax) { - /* marker method: truncate the fold and make sure the - * previously included lines are processed again */ + // marker method: truncate the fold and make sure the + // previously included lines are processed again bot = fp->fd_top + fp->fd_len - 1; fp->fd_len = flp->lnum - fp->fd_top; } else { - /* indent or expr method: split fold to create a new one - * below bot */ + // indent or expr method: split fold to create a new one + // below bot i = (int)(fp - (fold_T *)gap->ga_data); foldSplit(gap, i, flp->lnum, bot); fp = (fold_T *)gap->ga_data + i; @@ -2791,7 +2789,7 @@ foldUpdateIEMSRecurse( } } - /* delete following folds that end before the current line */ + // delete following folds that end before the current line for (;;) { fp2 = fp + 1; @@ -2802,7 +2800,7 @@ foldUpdateIEMSRecurse( { if (fp2->fd_top < flp->lnum) { - /* Make fold that includes lnum start at lnum. */ + // Make fold that includes lnum start at lnum. foldMarkAdjustRecurse(&fp2->fd_nested, (linenr_T)0, (long)(flp->lnum - fp2->fd_top - 1), (linenr_T)MAXLNUM, (long)(fp2->fd_top - flp->lnum)); @@ -2813,7 +2811,7 @@ foldUpdateIEMSRecurse( if (lvl >= level) { - /* merge new fold with existing fold that follows */ + // merge new fold with existing fold that follows foldMerge(fp, gap, fp2); } break; @@ -2822,15 +2820,15 @@ foldUpdateIEMSRecurse( deleteFoldEntry(gap, (int)(fp2 - (fold_T *)gap->ga_data), TRUE); } - /* Need to redraw the lines we inspected, which might be further down than - * was asked for. */ + // Need to redraw the lines we inspected, which might be further down than + // was asked for. if (bot < flp->lnum - 1) bot = flp->lnum - 1; return bot; } -/* foldInsert() {{{2 */ +// foldInsert() {{{2 /* * Insert a new fold in "gap" at position "i". * Returns OK for success, FAIL for failure. @@ -2850,7 +2848,7 @@ foldInsert(garray_T *gap, int i) return OK; } -/* foldSplit() {{{2 */ +// foldSplit() {{{2 /* * Split the "i"th fold in "gap", which starts before "top" and ends below * "bot" in two pieces, one ending above "top" and the other starting below @@ -2872,7 +2870,7 @@ foldSplit( int idx; int len; - /* The fold continues below bot, need to split it. */ + // The fold continues below bot, need to split it. if (foldInsert(gap, i + 1) == FAIL) return; fp = (fold_T *)gap->ga_data + i; @@ -2882,8 +2880,8 @@ foldSplit( fp[1].fd_small = MAYBE; fp->fd_small = MAYBE; - /* Move nested folds below bot to new fold. There can't be - * any between top and bot, they have been removed by the caller. */ + // Move nested folds below bot to new fold. There can't be + // any between top and bot, they have been removed by the caller. gap1 = &fp->fd_nested; gap2 = &fp[1].fd_nested; (void)(foldFind(gap1, bot + 1 - fp->fd_top, &fp2)); @@ -2903,7 +2901,7 @@ foldSplit( fold_changed = TRUE; } -/* foldRemove() {{{2 */ +// foldRemove() {{{2 /* * Remove folds within the range "top" to and including "bot". * Check for these situations: @@ -2928,23 +2926,23 @@ foldRemove(garray_T *gap, linenr_T top, linenr_T bot) fold_T *fp = NULL; if (bot < top) - return; /* nothing to do */ + return; // nothing to do for (;;) { - /* Find fold that includes top or a following one. */ + // Find fold that includes top or a following one. if (foldFind(gap, top, &fp) && fp->fd_top < top) { - /* 2: or 3: need to delete nested folds */ + // 2: or 3: need to delete nested folds foldRemove(&fp->fd_nested, top - fp->fd_top, bot - fp->fd_top); if (fp->fd_top + fp->fd_len - 1 > bot) { - /* 3: need to split it. */ + // 3: need to split it. foldSplit(gap, (int)(fp - (fold_T *)gap->ga_data), top, bot); } else { - /* 2: truncate fold at "top". */ + // 2: truncate fold at "top". fp->fd_len = top - fp->fd_top; } fold_changed = TRUE; @@ -2953,16 +2951,16 @@ foldRemove(garray_T *gap, linenr_T top, linenr_T bot) if (fp >= (fold_T *)(gap->ga_data) + gap->ga_len || fp->fd_top > bot) { - /* 6: Found a fold below bot, can stop looking. */ + // 6: Found a fold below bot, can stop looking. break; } if (fp->fd_top >= top) { - /* Found an entry below top. */ + // Found an entry below top. fold_changed = TRUE; if (fp->fd_top + fp->fd_len - 1 > bot) { - /* 5: Make fold that includes bot start below bot. */ + // 5: Make fold that includes bot start below bot. foldMarkAdjustRecurse(&fp->fd_nested, (linenr_T)0, (long)(bot - fp->fd_top), (linenr_T)MAXLNUM, (long)(fp->fd_top - bot - 1)); @@ -2971,13 +2969,13 @@ foldRemove(garray_T *gap, linenr_T top, linenr_T bot) break; } - /* 4: Delete completely contained fold. */ + // 4: Delete completely contained fold. deleteFoldEntry(gap, (int)(fp - (fold_T *)gap->ga_data), TRUE); } } } -/* foldReverseOrder() {{{2 */ +// foldReverseOrder() {{{2 static void foldReverseOrder(garray_T *gap, linenr_T start_arg, linenr_T end_arg) { @@ -2996,7 +2994,7 @@ foldReverseOrder(garray_T *gap, linenr_T start_arg, linenr_T end_arg) } } -/* foldMoveRange() {{{2 */ +// foldMoveRange() {{{2 /* * Move folds within the inclusive range "line1" to "line2" to after "dest" * requires "line1" <= "line2" <= "dest" @@ -3054,49 +3052,46 @@ foldMoveRange(garray_T *gap, linenr_T line1, linenr_T line2, linenr_T dest) { if (fold_end(fp) > dest) { - /* Case 4 - * don't have to change this fold, but have to move nested folds. - */ + // Case 4 + // don't have to change this fold, but have to move nested folds. foldMoveRange(&fp->fd_nested, line1 - fp->fd_top, line2 - fp->fd_top, dest - fp->fd_top); return; } else if (fold_end(fp) > line2) { - /* Case 3 - * Remove nested folds between line1 and line2 & reduce the - * length of fold by "range_len". - * Folds after this one must be dealt with. - */ + // Case 3 + // Remove nested folds between line1 and line2 & reduce the + // length of fold by "range_len". + // Folds after this one must be dealt with. foldMarkAdjustRecurse(&fp->fd_nested, line1 - fp->fd_top, line2 - fp->fd_top, MAXLNUM, -range_len); fp->fd_len -= range_len; } else - /* Case 2 truncate fold, folds after this one must be dealt with. */ + // Case 2 truncate fold, folds after this one must be dealt with. truncate_fold(fp, line1 - 1); - /* Look at the next fold, and treat that one as if it were the first - * after "line1" (because now it is). */ + // Look at the next fold, and treat that one as if it were the first + // after "line1" (because now it is). fp = fp + 1; } if (!valid_fold(fp, gap) || fp->fd_top > dest) { - /* Case 10 - * No folds after "line1" and before "dest" - */ + // Case 10 + // No folds after "line1" and before "dest" return; } else if (fp->fd_top > line2) { for (; valid_fold(fp, gap) && fold_end(fp) <= dest; fp++) - /* Case 9. (for all case 9's) -- shift up. */ + // Case 9. (for all case 9's) -- shift up. fp->fd_top -= range_len; if (valid_fold(fp, gap) && fp->fd_top <= dest) { - /* Case 8. -- ensure truncated at dest, shift up */ + // Case 8. -- ensure truncated at dest, shift up truncate_fold(fp, dest); fp->fd_top -= range_len; } @@ -3104,7 +3099,7 @@ foldMoveRange(garray_T *gap, linenr_T line1, linenr_T line2, linenr_T dest) } else if (fold_end(fp) > dest) { - /* Case 7 -- remove nested folds and shrink */ + // Case 7 -- remove nested folds and shrink foldMarkAdjustRecurse(&fp->fd_nested, line2 + 1 - fp->fd_top, dest - fp->fd_top, MAXLNUM, -move_len); fp->fd_len -= move_len; @@ -3112,26 +3107,25 @@ foldMoveRange(garray_T *gap, linenr_T line1, linenr_T line2, linenr_T dest) return; } - /* Case 5 or 6 - * changes rely on whether there are folds between the end of - * this fold and "dest". - */ + // Case 5 or 6 + // changes rely on whether there are folds between the end of + // this fold and "dest". move_start = fold_index(fp, gap); for (; valid_fold(fp, gap) && fp->fd_top <= dest; fp++) { if (fp->fd_top <= line2) { - /* 1. 2. or 3. */ + // 1. 2. or 3. if (fold_end(fp) > line2) - /* 2. or 3., truncate before moving */ + // 2. or 3., truncate before moving truncate_fold(fp, line2); fp->fd_top += move_len; continue; } - /* Record index of the first fold after the moved range. */ + // Record index of the first fold after the moved range. if (move_end == 0) move_end = fold_index(fp, gap); @@ -3149,8 +3143,8 @@ foldMoveRange(garray_T *gap, linenr_T line1, linenr_T line2, linenr_T dest) * range [move_start, move_end). */ if (move_end == 0) - /* There are no folds after those moved, hence no folds have been moved - * out of order. */ + // There are no folds after those moved, hence no folds have been moved + // out of order. return; foldReverseOrder(gap, (linenr_T)move_start, (linenr_T)dest_index - 1); foldReverseOrder(gap, (linenr_T)move_start, @@ -3162,7 +3156,7 @@ foldMoveRange(garray_T *gap, linenr_T line1, linenr_T line2, linenr_T dest) #undef valid_fold #undef fold_index -/* foldMerge() {{{2 */ +// foldMerge() {{{2 /* * Merge two adjacent folds (and the nested ones in them). * This only works correctly when the folds are really adjacent! Thus "fp1" @@ -3179,12 +3173,12 @@ foldMerge(fold_T *fp1, garray_T *gap, fold_T *fp2) garray_T *gap1 = &fp1->fd_nested; garray_T *gap2 = &fp2->fd_nested; - /* If the last nested fold in fp1 touches the first nested fold in fp2, - * merge them recursively. */ + // If the last nested fold in fp1 touches the first nested fold in fp2, + // merge them recursively. if (foldFind(gap1, fp1->fd_len - 1L, &fp3) && foldFind(gap2, 0L, &fp4)) foldMerge(fp3, gap2, fp4); - /* Move nested folds in fp2 to the end of fp1. */ + // Move nested folds in fp2 to the end of fp1. if (gap2->ga_len > 0 && ga_grow(gap1, gap2->ga_len) == OK) { for (idx = 0; idx < gap2->ga_len; ++idx) @@ -3202,7 +3196,7 @@ foldMerge(fold_T *fp1, garray_T *gap, fold_T *fp2) fold_changed = TRUE; } -/* foldlevelIndent() {{{2 */ +// foldlevelIndent() {{{2 /* * Low level function to get the foldlevel for the "indent" method. * Doesn't use any caching. @@ -3218,11 +3212,11 @@ foldlevelIndent(fline_T *flp) buf = flp->wp->w_buffer; s = skipwhite(ml_get_buf(buf, lnum, FALSE)); - /* empty line or lines starting with a character in 'foldignore': level - * depends on surrounding lines */ + // empty line or lines starting with a character in 'foldignore': level + // depends on surrounding lines if (*s == NUL || vim_strchr(flp->wp->w_p_fdi, *s) != NULL) { - /* first and last line can't be undefined, use level 0 */ + // first and last line can't be undefined, use level 0 if (lnum == 1 || lnum == buf->b_ml.ml_line_count) flp->lvl = 0; else @@ -3238,7 +3232,7 @@ foldlevelIndent(fline_T *flp) } } -/* foldlevelDiff() {{{2 */ +// foldlevelDiff() {{{2 #ifdef FEAT_DIFF /* * Low level function to get the foldlevel for the "diff" method. @@ -3254,7 +3248,7 @@ foldlevelDiff(fline_T *flp) } #endif -/* foldlevelExpr() {{{2 */ +// foldlevelExpr() {{{2 /* * Low level function to get the foldlevel for the "expr" method. * Doesn't use any caching. @@ -3284,15 +3278,15 @@ foldlevelExpr(fline_T *flp) if (lnum <= 1) flp->lvl = 0; - /* KeyTyped may be reset to 0 when calling a function which invokes - * do_cmdline(). To make 'foldopen' work correctly restore KeyTyped. */ + // KeyTyped may be reset to 0 when calling a function which invokes + // do_cmdline(). To make 'foldopen' work correctly restore KeyTyped. save_keytyped = KeyTyped; n = (int)eval_foldexpr(flp->wp->w_p_fde, &c); KeyTyped = save_keytyped; switch (c) { - /* "a1", "a2", .. : add to the fold level */ + // "a1", "a2", .. : add to the fold level case 'a': if (flp->lvl >= 0) { flp->lvl += n; @@ -3301,7 +3295,7 @@ foldlevelExpr(fline_T *flp) flp->start = n; break; - /* "s1", "s2", .. : subtract from the fold level */ + // "s1", "s2", .. : subtract from the fold level case 's': if (flp->lvl >= 0) { if (n > flp->lvl) @@ -3312,25 +3306,25 @@ foldlevelExpr(fline_T *flp) } break; - /* ">1", ">2", .. : start a fold with a certain level */ + // ">1", ">2", .. : start a fold with a certain level case '>': flp->lvl = n; flp->lvl_next = n; flp->start = 1; break; - /* "<1", "<2", .. : end a fold with a certain level */ + // "<1", "<2", .. : end a fold with a certain level case '<': flp->lvl_next = n - 1; flp->end = n; break; - /* "=": No change in level */ + // "=": No change in level case '=': flp->lvl_next = flp->lvl; break; - /* "-1", "0", "1", ..: set fold level */ + // "-1", "0", "1", ..: set fold level default: if (n < 0) - /* Use the current level for the next line, so that "a1" - * will work there. */ + // Use the current level for the next line, so that "a1" + // will work there. flp->lvl_next = flp->lvl; else flp->lvl_next = n; @@ -3338,8 +3332,8 @@ foldlevelExpr(fline_T *flp) break; } - /* If the level is unknown for the first or the last line in the file, use - * level 0. */ + // If the level is unknown for the first or the last line in the file, use + // level 0. if (flp->lvl < 0) { if (lnum <= 1) @@ -3356,7 +3350,7 @@ foldlevelExpr(fline_T *flp) #endif } -/* parseMarker() {{{2 */ +// parseMarker() {{{2 /* * Parse 'foldmarker' and set "foldendmarker", "foldstartmarkerlen" and * "foldendmarkerlen". @@ -3370,7 +3364,7 @@ parseMarker(win_T *wp) foldendmarkerlen = (int)STRLEN(foldendmarker); } -/* foldlevelMarker() {{{2 */ +// foldlevelMarker() {{{2 /* * Low level function to get the foldlevel for the "marker" method. * "foldendmarker", "foldstartmarkerlen" and "foldendmarkerlen" must have been @@ -3390,13 +3384,13 @@ foldlevelMarker(fline_T *flp) char_u *s; int n; - /* cache a few values for speed */ + // cache a few values for speed startmarker = flp->wp->w_p_fmr; cstart = *startmarker; ++startmarker; cend = *foldendmarker; - /* Default: no start found, next level is same as current level */ + // Default: no start found, next level is same as current level flp->start = 0; flp->lvl_next = flp->lvl; @@ -3406,7 +3400,7 @@ foldlevelMarker(fline_T *flp) if (*s == cstart && STRNCMP(s + 1, startmarker, foldstartmarkerlen - 1) == 0) { - /* found startmarker: set flp->lvl */ + // found startmarker: set flp->lvl s += foldstartmarkerlen; if (VIM_ISDIGIT(*s)) { @@ -3431,7 +3425,7 @@ foldlevelMarker(fline_T *flp) else if (*s == cend && STRNCMP(s + 1, foldendmarker + 1, foldendmarkerlen - 1) == 0) { - /* found endmarker: set flp->lvl_next */ + // found endmarker: set flp->lvl_next s += foldendmarkerlen; if (VIM_ISDIGIT(*s)) { @@ -3440,7 +3434,7 @@ foldlevelMarker(fline_T *flp) { flp->lvl = n; flp->lvl_next = n - 1; - /* never start a fold with an end marker */ + // never start a fold with an end marker if (flp->lvl_next > start_lvl) flp->lvl_next = start_lvl; } @@ -3452,12 +3446,12 @@ foldlevelMarker(fline_T *flp) MB_PTR_ADV(s); } - /* The level can't go negative, must be missing a start marker. */ + // The level can't go negative, must be missing a start marker. if (flp->lvl_next < 0) flp->lvl_next = 0; } -/* foldlevelSyntax() {{{2 */ +// foldlevelSyntax() {{{2 /* * Low level function to get the foldlevel for the "syntax" method. * Doesn't use any caching. @@ -3472,7 +3466,7 @@ foldlevelSyntax(fline_T *flp) linenr_T lnum = flp->lnum + flp->off; int n; - /* Use the maximum fold level at the start of this line and the next. */ + // Use the maximum fold level at the start of this line and the next. flp->lvl = syn_get_foldlevel(flp->wp, lnum); flp->start = 0; if (lnum < flp->wp->w_buffer->b_ml.ml_line_count) @@ -3480,15 +3474,15 @@ foldlevelSyntax(fline_T *flp) n = syn_get_foldlevel(flp->wp, lnum + 1); if (n > flp->lvl) { - flp->start = n - flp->lvl; /* fold(s) start here */ + flp->start = n - flp->lvl; // fold(s) start here flp->lvl = n; } } #endif } -/* functions for storing the fold state in a View {{{1 */ -/* put_folds() {{{2 */ +// functions for storing the fold state in a View {{{1 +// put_folds() {{{2 #if defined(FEAT_SESSION) || defined(PROTO) static int put_folds_recurse(FILE *fd, garray_T *gap, linenr_T off); static int put_foldopen_recurse(FILE *fd, win_T *wp, garray_T *gap, linenr_T off); @@ -3508,14 +3502,14 @@ put_folds(FILE *fd, win_T *wp) return FAIL; } - /* If some folds are manually opened/closed, need to restore that. */ + // If some folds are manually opened/closed, need to restore that. if (wp->w_fold_manual) return put_foldopen_recurse(fd, wp, &wp->w_folds, (linenr_T)0); return OK; } -/* put_folds_recurse() {{{2 */ +// put_folds_recurse() {{{2 /* * Write commands to "fd" to recreate manually created folds. * Returns FAIL when writing failed. @@ -3529,7 +3523,7 @@ put_folds_recurse(FILE *fd, garray_T *gap, linenr_T off) fp = (fold_T *)gap->ga_data; for (i = 0; i < gap->ga_len; i++) { - /* Do nested folds first, they will be created closed. */ + // Do nested folds first, they will be created closed. if (put_folds_recurse(fd, &fp->fd_nested, off + fp->fd_top) == FAIL) return FAIL; if (fprintf(fd, "%ld,%ldfold", fp->fd_top + off, @@ -3541,7 +3535,7 @@ put_folds_recurse(FILE *fd, garray_T *gap, linenr_T off) return OK; } -/* put_foldopen_recurse() {{{2 */ +// put_foldopen_recurse() {{{2 /* * Write commands to "fd" to open and close manually opened/closed folds. * Returns FAIL when writing failed. @@ -3564,7 +3558,7 @@ put_foldopen_recurse( { if (fp->fd_nested.ga_len > 0) { - /* open nested folds while this fold is open */ + // open nested folds while this fold is open if (fprintf(fd, "%ld", fp->fd_top + off) < 0 || put_eol(fd) == FAIL || put_line(fd, "normal! zo") == FAIL) @@ -3573,7 +3567,7 @@ put_foldopen_recurse( off + fp->fd_top) == FAIL) return FAIL; - /* close the parent when needed */ + // close the parent when needed if (fp->fd_flags == FD_CLOSED) { if (put_fold_open_close(fd, fp, off) == FAIL) @@ -3582,9 +3576,9 @@ put_foldopen_recurse( } else { - /* Open or close the leaf according to the window foldlevel. - * Do not close a leaf that is already closed, as it will close - * the parent. */ + // Open or close the leaf according to the window foldlevel. + // Do not close a leaf that is already closed, as it will close + // the parent. level = foldLevelWin(wp, off + fp->fd_top); if ((fp->fd_flags == FD_CLOSED && wp->w_p_fdl >= level) || (fp->fd_flags != FD_CLOSED && wp->w_p_fdl < level)) @@ -3598,7 +3592,7 @@ put_foldopen_recurse( return OK; } -/* put_fold_open_close() {{{2 */ +// put_fold_open_close() {{{2 /* * Write the open or close command to "fd". * Returns FAIL when writing failed. @@ -3615,9 +3609,9 @@ put_fold_open_close(FILE *fd, fold_T *fp, linenr_T off) return OK; } -#endif /* FEAT_SESSION */ +#endif // FEAT_SESSION -/* }}}1 */ +// }}}1 #endif // defined(FEAT_FOLDING) || defined(PROTO) #if defined(FEAT_EVAL) || defined(PROTO) |