annotate src/proto/diff.pro @ 17851:ba63a184e6b6 v8.1.1922

patch 8.1.1922: in diff mode global operations can be very slow Commit: https://github.com/vim/vim/commit/4f57eefe1e84b5a90e08474092ea6fc8825ad5c9 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Aug 24 20:54:19 2019 +0200 patch 8.1.1922: in diff mode global operations can be very slow Problem: In diff mode global operations can be very slow. Solution: Do not call diff_redraw() many times, call it once when redrawing. And also don't update folds multiple times.
author Bram Moolenaar <Bram@vim.org>
date Sat, 24 Aug 2019 21:00:06 +0200
parents f562b9fbd0d3
children 5c8906f653f5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 /* diff.c */
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6314
diff changeset
2 void diff_buf_delete(buf_T *buf);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6314
diff changeset
3 void diff_buf_adjust(win_T *win);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6314
diff changeset
4 void diff_buf_add(buf_T *buf);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6314
diff changeset
5 void diff_invalidate(buf_T *buf);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6314
diff changeset
6 void diff_mark_adjust(linenr_T line1, linenr_T line2, long amount, long amount_after);
17851
ba63a184e6b6 patch 8.1.1922: in diff mode global operations can be very slow
Bram Moolenaar <Bram@vim.org>
parents: 14764
diff changeset
7 void diff_redraw(int dofold);
14764
f562b9fbd0d3 patch 8.1.0394: diffs are not always updated correctly
Christian Brabandt <cb@256bit.org>
parents: 12971
diff changeset
8 int diff_internal(void);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6314
diff changeset
9 void ex_diffupdate(exarg_T *eap);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6314
diff changeset
10 void ex_diffpatch(exarg_T *eap);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6314
diff changeset
11 void ex_diffsplit(exarg_T *eap);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6314
diff changeset
12 void ex_diffthis(exarg_T *eap);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6314
diff changeset
13 void diff_win_options(win_T *wp, int addbuf);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6314
diff changeset
14 void ex_diffoff(exarg_T *eap);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6314
diff changeset
15 void diff_clear(tabpage_T *tp);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6314
diff changeset
16 int diff_check(win_T *wp, linenr_T lnum);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6314
diff changeset
17 int diff_check_fill(win_T *wp, linenr_T lnum);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6314
diff changeset
18 void diff_set_topline(win_T *fromwin, win_T *towin);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6314
diff changeset
19 int diffopt_changed(void);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6314
diff changeset
20 int diffopt_horizontal(void);
12971
ca3cb1997f08 patch 8.0.1361: some users don't want to diff with hidden buffers
Christian Brabandt <cb@256bit.org>
parents: 10295
diff changeset
21 int diffopt_hiddenoff(void);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6314
diff changeset
22 int diff_find_change(win_T *wp, linenr_T lnum, int *startp, int *endp);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6314
diff changeset
23 int diff_infold(win_T *wp, linenr_T lnum);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6314
diff changeset
24 void nv_diffgetput(int put, long count);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6314
diff changeset
25 void ex_diffgetput(exarg_T *eap);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6314
diff changeset
26 int diff_mode_buf(buf_T *buf);
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6314
diff changeset
27 int diff_move_to(int dir, long count);
10295
d0b74b18e4b5 commit https://github.com/vim/vim/commit/025e3e0bafbc85cc4e365145af711edf99d0a90d
Christian Brabandt <cb@256bit.org>
parents: 7668
diff changeset
28 linenr_T diff_get_corresponding_line(buf_T *buf1, linenr_T lnum1);
7668
21b0a39d13ed commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Christian Brabandt <cb@256bit.org>
parents: 6314
diff changeset
29 linenr_T diff_lnum_win(linenr_T lnum, win_T *wp);
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30 /* vim: set ft=c : */