| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
|
|
|
| |
(#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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
| |
Update runtime files
https://github.com/vim/vim/commit/6f4754b9f7253d7e4ba527064a24aff1acdb1e8f
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
| |
|
|
|
|
|
| |
Update runtime files.
https://github.com/vim/vim/commit/be4e01637e71c8d5095c33b9861fd70b41476732
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
| |
|
|
|
|
|
|
|
|
| |
Update runtime files
https://github.com/vim/vim/commit/f1dcd14fc5d4370476cd82895a4479ca2d252e54
missing autocmd blocks and getscriptinfo()
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| | |
|
| |
|
|
| |
Update runtime files.
https://github.com/vim/vim/commit/c51cf0329809c7ae946c59d6f56699227efc9d1b
|
| |
|
|
| |
Update runtime files
https://github.com/vim/vim/commit/6f4754b9f7253d7e4ba527064a24aff1acdb1e8f
|
| |
|
|
|
|
|
|
|
|
|
| |
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`
|
| |
|
|
|
|
|
| |
Update runtime files
https://github.com/vim/vim/commit/5ef1c6a4838a9629b793f3ae676f72a764171b00
"scrollfocus" is for Windows GUI only so it is N/A.
|
| |
|
|
|
|
| |
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
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
| |
Update runtime files.
https://github.com/vim/vim/commit/61da1bfa6c6b19dd670671a318ce9f9e2acc784c
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
| |
Update runtime files.
https://github.com/vim/vim/commit/d473c8c101262702ea9eeb14907ee20a786942b2
|
| |
|
|
|
| |
Update runtime files.
https://github.com/vim/vim/commit/91f84f6e11cd879d43d651c0903d85bff95f0716
|
| | |
|
| |
|
|
| |
closes #8426
|
| |
|
|
|
|
| |
Long overdue runtime update.
https://github.com/vim/vim/commit/01164a6546b4c635daf96a1f17d1cb2d07f32a66
|
| |
|
|
|
|
| |
Update runtime files
https://github.com/vim/vim/commit/24a98a0eb77245adc50facad8b735b20bfd31a7e
|
| |
|
|
|
|
|
|
|
|
| |
Note: Ignored changes to matchit.vim in favor of faca81411628.
---
Update runtime files.
https://github.com/vim/vim/commit/37c64c78fd87e086b5a945ad7032787c274e2dcb
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Updated runtime files.
https://github.com/vim/vim/commit/3df0173fa6d0418e89ef4e9c1d04a97c92eec27c
|
| | |
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Updated runtime files.
https://github.com/vim/vim/commit/86ae720d7567fcbbe40f00cf136c797953f21038
|
| |
|
|
|
|
| |
Update runtime files.
https://github.com/vim/vim/commit/0122c4070f84e71f15a39fb20ababeffb70757c4
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
Because of recent work on defaults (see
https://github.com/neovim/neovim/issues/2676)
|
| |
|
|
|
|
| |
Update runtime files.
https://code.google.com/p/vim/source/detail?r=4abac79c0b7ae7aac0cb32d9930e155de628b63f
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
While we're here:
- Remove references to the '+diff' feature, which has since been made
non-optional.
- Update a few Vim instances with Nvim.
|
|
|
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>
|