aboutsummaryrefslogtreecommitdiff
path: root/runtime/doc/diff.txt
Commit message (Collapse)AuthorAge
* vim-patch:9.1.1252: typos in code and docs related to 'diffopt' "inline:" ↵zeertzjq2025-03-29
| | | | | | | | | | | | (#33143) Problem: Typos in code and docs related to 'diffopt' "inline:". (after v9.1.1243) Solution: Fix typos and slightly improve the docs. (zeertzjq) closes: vim/vim#16997 https://github.com/vim/vim/commit/5a307c361cbe9f7ac438a917b905378d87f8f2de
* vim-patch:9.1.1243: diff mode is lacking for changes within lineszeertzjq2025-03-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Diff mode's inline highlighting is lackluster. It only performs a line-by-line comparison, and calculates a single shortest range within a line that could encompass all the changes. In lines with multiple changes, or those that span multiple lines, this approach tends to end up highlighting much more than necessary. Solution: Implement new inline highlighting modes by doing per-character or per-word diff within the diff block, and highlight only the relevant parts, add "inline:simple" to the defaults (which is the old behaviour) This change introduces a new diffopt option "inline:<type>". Setting to "none" will disable all inline highlighting, "simple" (the default) will use the old behavior, "char" / "word" will perform a character/word-wise diff of the texts within each diff block and only highlight the differences. The new char/word inline diff only use the internal xdiff, and will respect diff options such as algorithm choice, icase, and misc iwhite options. indent-heuristics is always on to perform better sliding. For character highlight, a post-process of the diff results is first applied before we show the highlight. This is because a naive diff will create a result with a lot of small diff chunks and gaps, due to the repetitive nature of individual characters. The post-process is a heuristic-based refinement that attempts to merge adjacent diff blocks if they are separated by a short gap (1-3 characters), and can be further tuned in the future for better results. This process results in more characters than necessary being highlighted but overall less visual noise. For word highlight, always use first buffer's iskeyword definition. Otherwise if each buffer has different iskeyword settings we would not be able to group words properly. The char/word diffing is always per-diff block, not per line, meaning that changes that span multiple lines will show up correctly. Added/removed newlines are not shown by default, but if the user has 'list' set (with "eol" listchar defined), the eol character will be be highlighted correctly for the specific newline characters. Also, add a new "DiffTextAdd" highlight group linked to "DiffText" by default. It allows color schemes to use different colors for texts that have been added within a line versus modified. This doesn't interact with linematch perfectly currently. The linematch feature splits up diff blocks into multiple smaller blocks for better visual matching, which makes inline highlight less useful especially for multi-line change (e.g. a line is broken into two lines). This could be addressed in the future. As a side change, this also removes the bounds checking introduced to diff_read() as they were added to mask existing logic bugs that were properly fixed in vim/vim#16768. closes: vim/vim#16881 https://github.com/vim/vim/commit/9943d4790e42721a6777da9e12637aa595ba4965 Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
* vim-patch:9.0.0634: evaluating "expr" options has more overhead than neededzeertzjq2024-08-02
| | | | | | | | | | | | | | | | | | Problem: Evaluating "expr" options has more overhead than needed. Solution: Use call_simple_func() for 'foldtext', 'includeexpr', 'printexpr', "expr" of 'spellsuggest', 'diffexpr', 'patchexpr', 'balloonexpr', 'formatexpr', 'indentexpr' and 'charconvert'. https://github.com/vim/vim/commit/a4e0b9785e409e9e660171cea76dfcc5fdafad9b vim-patch:9.0.0635: build error and compiler warnings Problem: Build error and compiler warnings. Solution: Add missing change. Add type casts. https://github.com/vim/vim/commit/3292a229402c9892f5ab90645fbfe2b1db342f5b Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:partial:6f4754b9f725zeertzjq2023-04-17
| | | | | | | | Update runtime files https://github.com/vim/vim/commit/6f4754b9f7253d7e4ba527064a24aff1acdb1e8f Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:be4e01637e71 (#22103)Christian Clason2023-02-03
| | | | | | | Update runtime files. https://github.com/vim/vim/commit/be4e01637e71c8d5095c33b9861fd70b41476732 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:partial:f1dcd14fc5d4 (#21602)Christian Clason2023-01-01
| | | | | | | | | | Update runtime files https://github.com/vim/vim/commit/f1dcd14fc5d4370476cd82895a4479ca2d252e54 missing autocmd blocks and getscriptinfo() Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.3900: it is not easy to use a script-local function for an optionzeertzjq2022-12-03
| | | | | | | | | | | | | Problem: It is not easy to use a script-local function for an option. Solution: recognize s: and <SID> at the start of the expression. (Yegappan Lakshmanan, closes vim/vim#9401) https://github.com/vim/vim/commit/8bb65f230d3025037f34021a72616038da0601ee Omit duplicate docs in fold.txt: removed in a later runtime update. Cherry-pick test_diffmode.vim changes from patch 8.2.1432. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* docs: fix/remove invalid URLs #20647Justin M. Keyes2022-10-14
|
* vim-patch:c51cf0329809 (#17530)Christian Clason2022-02-27
| | | | Update runtime files. https://github.com/vim/vim/commit/c51cf0329809c7ae946c59d6f56699227efc9d1b
* vim-patch:6f4754b9f725 (#17179)Christian Clason2022-01-23
| | | | Update runtime files https://github.com/vim/vim/commit/6f4754b9f7253d7e4ba527064a24aff1acdb1e8f
* vim-patch:d2ea7cf10a4d #15571Christian Clason2021-09-08
| | | | | | | | | | | Update runtime files https://github.com/vim/vim/commit/d2ea7cf10a4d026ebd402594d656af7d5c811c24 omit `runtime/doc/if_tcl.txt` omit `runtime/doc/textprop.txt` omit `runtime/tutor/*` omit `runtime/syntax/vim.vim` (cherry-picked in https://github.com/neovim/neovim/commit/2dd7828511d04a8b7f1ac4331c719a751a5db869) manual merge of `runtime/pack/dist/opt/termdebug/plugin/termdebug.vim`
* vim-patch:5ef1c6a4838aJan Edmund Lazo2021-04-27
| | | | | | | Update runtime files https://github.com/vim/vim/commit/5ef1c6a4838a9629b793f3ae676f72a764171b00 "scrollfocus" is for Windows GUI only so it is N/A.
* vim-patch:8.2.2490: 'wrap' option is always reset when starting diff modeJan Edmund Lazo2021-02-10
| | | | | | Problem: 'wrap' option is always reset when starting diff mode. Solution: Add the "followwrap" item in 'diffopt'. (Rick Howe, closes vim/vim#7797) https://github.com/vim/vim/commit/4223d43c0fb6ead1e611e4469a1680a9228b6015
* Grammar - remove superfluous word.shade-of-noon2020-11-21
|
* Removed restricted mode - Fix #11972georg3tom2020-11-11
|
* vim-patch:5477506a9f01Justin M. Keyes2019-08-02
| | | | | | | | | Update runtime files. https://github.com/vim/vim/commit/5477506a9f01d40fad2e8f0555bc37adee30478f NA: vim-patch:2a9c9f6d89f1 "undo extra changes in src/Makefile" https://github.com/vim/vim/commit/2a9c9f6d89f19f8fa8d926e80c7f988729f6f1bd
* vim-patch:61da1bfa6c6bJustin M. Keyes2019-08-02
| | | | | Update runtime files. https://github.com/vim/vim/commit/61da1bfa6c6b19dd670671a318ce9f9e2acc784c
* vim-patch:8.1.0360: using an external diff program is slow and inflexibleAnatolii Sakhnik2018-12-09
| | | | | | | | | | | | | | | | | | Problem: Using an external diff program is slow and inflexible. Solution: Include the xdiff library. (Christian Brabandt) Use it by default. https://github.com/vim/vim/commit/e828b7621cf9065a3582be0c4dd1e0e846e335bf vim-patch:8.1.0360 vim-patch:8.1.0364 vim-patch:8.1.0366 vim-patch:8.1.0370 vim-patch:8.1.0377 vim-patch:8.1.0378 vim-patch:8.1.0381 vim-patch:8.1.0396 vim-patch:8.1.0432
* vim-patch:d473c8c10126Justin M. Keyes2018-10-29
| | | | | Update runtime files. https://github.com/vim/vim/commit/d473c8c101262702ea9eeb14907ee20a786942b2
* vim-patch:91f84f6e11cdJustin M. Keyes2018-10-29
| | | | | Update runtime files. https://github.com/vim/vim/commit/91f84f6e11cd879d43d651c0903d85bff95f0716
* runtime/doc: fix broken links found by `make html`Justin M. Keyes2018-08-25
|
* doc: remove mentions of vimrc_exampleJustin M. Keyes2018-05-22
| | | | closes #8426
* vim-patch:01164a6546b4Justin M. Keyes2017-11-07
| | | | | | Long overdue runtime update. https://github.com/vim/vim/commit/01164a6546b4c635daf96a1f17d1cb2d07f32a66
* vim-patch:24a98a0eb772Justin M. Keyes2017-11-07
| | | | | | Update runtime files https://github.com/vim/vim/commit/24a98a0eb77245adc50facad8b735b20bfd31a7e
* vim-patch:37c64c78fd87Justin M. Keyes2017-11-07
| | | | | | | | | | Note: Ignored changes to matchit.vim in favor of faca81411628. --- Update runtime files. https://github.com/vim/vim/commit/37c64c78fd87e086b5a945ad7032787c274e2dcb
* help, man.vim: change "outline" map to gO (#7405)Justin M. Keyes2017-10-21
|
* doc: Replace hardcoded TOCs with <M-]> advice.Justin M. Keyes2017-05-01
|
* vim-patch:3df0173fa6d0Justin M. Keyes2017-05-01
| | | | | | Updated runtime files. https://github.com/vim/vim/commit/3df0173fa6d0418e89ef4e9c1d04a97c92eec27c
* doc: Replace "For Vim ... Last change ..." headers (#6328)Justin M. Keyes2017-03-21
|
* vim-patch:7.4.2251Shougo Matsushita2016-11-16
| | | | | | | Problem: In rare cases diffing 4 buffers is not enough. Solution: Raise the limit to 8. (closes vim/vim#1000) https://github.com/vim/vim/commit/015efc32c1add6269099364835ddf85ff257b3c6
* vim-patch:b4ff518KillTheMule2016-05-03
| | | | | | | | | | Updated runtime files. https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b Missing files: runtime/doc/tags, runtime/doc/todo.txt. Changes to runtime/doc/if_pyth.txt, runtime/doc/options.txt and runtime/doc/quickref.txt did not aply. Excluded runtime/syntax/vim.vim.
* vim-patch:86ae720watiko2016-03-29
| | | | | | Updated runtime files. https://github.com/vim/vim/commit/86ae720d7567fcbbe40f00cf136c797953f21038
* vim-patch:0122c40Justin M. Keyes2015-12-17
| | | | | | Update runtime files. https://github.com/vim/vim/commit/0122c4070f84e71f15a39fb20ababeffb70757c4
* documentation: Update documentationZyX2015-10-23
| | | | | | | Note about ~/.local/share/nvim/site used in one usr_\* file: this one talks about user-local installation of third-party plugins, and ~/.local/share/nvim/site is the proper place for them. Most other files talk about user own configuration and this is ~/.config.
* Update vimrc_example fileFelipe Morales2015-06-29
| | | | | Because of recent work on defaults (see https://github.com/neovim/neovim/issues/2676)
* vim-patch:4abac79 #2694Florian Walch2015-05-19
| | | | | | Update runtime files. https://code.google.com/p/vim/source/detail?r=4abac79c0b7ae7aac0cb32d9930e155de628b63f
* doc: diff-mode: minor adjustmentsJustin M. Keyes2015-02-03
|
* Remove vimdiff: Review suggestionsMichael Reed2015-02-03
|
* Remove vimdiffMichael Reed2015-02-03
| | | | | | | While we're here: - Remove references to the '+diff' feature, which has since been made non-optional. - Update a few Vim instances with Nvim.
* re-integrate runtime/ vim-patch:0 #938Justin M. Keyes2014-07-29
Vim runtime files based on 7.4.384 / hg changeset 7090d7f160f7 Excluding: Amiga icons (*.info, icons/) doc/hangulin.txt tutor/ spell/ lang/ (only used for menu translations) macros/maze/, macros/hanoi/, macros/life/, macros/urm/ These were used to test vi compatibility. termcap "Demonstration of a termcap file (for the Amiga and Archimedes)" Helped-by: Rich Wareham <rjw57@cam.ac.uk> Helped-by: John <john.schmidt.h@gmail.com> Helped-by: Yann <yann@yann-salaun.com> Helped-by: Christophe Badoit <c.badoit@lesiteimmo.com> Helped-by: drasill <github@tof2k.com> Helped-by: Tae Sandoval Murgan <taecilla@gmail.com> Helped-by: Lowe Thiderman <lowe.thiderman@gmail.com>