Mercurial > vim
view src/proto/fold.pro @ 34571:fdd232ab72ea v9.1.0184
patch 9.1.0184: Cursor pos wrong when clicking with conceal and wrap
Commit: https://github.com/vim/vim/commit/d0c1b7723f7e73763597af2f97a53d94ab7ed020
Author: zeertzjq <zeertzjq@outlook.com>
Date: Sat Mar 16 15:03:33 2024 +0100
patch 9.1.0184: Cursor pos wrong when clicking with conceal and wrap
Problem: Cursor position wrong when clicking with conceal and wrap.
Solution: Use the virtual column of the last char for ScreenCols[] in
boguscols. Remove use of MAXCOL in ScreenCols[]. Rename
third argument of wlv_screen_line() to "clear_end" as that's
clearer what it does (zeertzjq).
related: 14192
closes: #14200
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 16 Mar 2024 15:15:04 +0100 |
parents | 34639bba19b0 |
children |
line wrap: on
line source
/* fold.c */ void copyFoldingState(win_T *wp_from, win_T *wp_to); int hasAnyFolding(win_T *win); int hasFolding(linenr_T lnum, linenr_T *firstp, linenr_T *lastp); int hasFoldingWin(win_T *win, linenr_T lnum, linenr_T *firstp, linenr_T *lastp, int cache, foldinfo_T *infop); int lineFolded(win_T *win, linenr_T lnum); long foldedCount(win_T *win, linenr_T lnum, foldinfo_T *infop); int foldmethodIsManual(win_T *wp); int foldmethodIsIndent(win_T *wp); int foldmethodIsExpr(win_T *wp); int foldmethodIsMarker(win_T *wp); int foldmethodIsSyntax(win_T *wp); int foldmethodIsDiff(win_T *wp); void closeFold(linenr_T lnum, long count); void closeFoldRecurse(linenr_T lnum); void opFoldRange(linenr_T first, linenr_T last, int opening, int recurse, int had_visual); void openFold(linenr_T lnum, long count); void openFoldRecurse(linenr_T lnum); void foldOpenCursor(void); void newFoldLevel(void); void foldCheckClose(void); int foldManualAllowed(int create); void foldCreate(linenr_T start, linenr_T end); void deleteFold(linenr_T start, linenr_T end, int recursive, int had_visual); void clearFolding(win_T *win); void foldUpdate(win_T *wp, linenr_T top, linenr_T bot); void foldUpdateAll(win_T *win); int foldMoveTo(int updown, int dir, long count); void foldInitWin(win_T *new_win); int find_wl_entry(win_T *win, linenr_T lnum); void foldAdjustVisual(void); void foldAdjustCursor(void); void cloneFoldGrowArray(garray_T *from, garray_T *to); void deleteFoldRecurse(garray_T *gap); void foldMarkAdjust(win_T *wp, linenr_T line1, linenr_T line2, long amount, long amount_after); int getDeepestNesting(void); char_u *get_foldtext(win_T *wp, linenr_T lnum, linenr_T lnume, foldinfo_T *foldinfo, char_u *buf); void foldMoveRange(garray_T *gap, linenr_T line1, linenr_T line2, linenr_T dest); int put_folds(FILE *fd, win_T *wp); void f_foldclosed(typval_T *argvars, typval_T *rettv); void f_foldclosedend(typval_T *argvars, typval_T *rettv); void f_foldlevel(typval_T *argvars, typval_T *rettv); void f_foldtext(typval_T *argvars, typval_T *rettv); void f_foldtextresult(typval_T *argvars, typval_T *rettv); /* vim: set ft=c : */