aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/diff.c
Commit message (Collapse)AuthorAge
...
* vim-patch:8.1.0805: too many #ifdefsJan Edmund Lazo2020-11-12
| | | | | | Problem: Too many #ifdefs. Solution: Graduate FEAT_MBYTE, part 1. https://github.com/vim/vim/commit/135059724f140ceac889c9f8136bd1bf5c41d49d
* api: add API for themesBjörn Linse2020-11-01
| | | | | | | | | | co-author: hlpr98 <hlpr98@gmail.com> (dict2hlattrs function) orange is sus?? NOVEMBER DAWN erase the lie that is redraw_later()
* vim-patch:8.1.2378: using old C style commentsJan Edmund Lazo2020-04-12
| | | | | | Problem: Using old C style comments. Solution: Use // comments where appropriate. https://github.com/vim/vim/commit/5d18efecfd6c45d69f55268948a22cd0465bb955
* diff.c: fix sprintf callJustin M. Keyes2020-03-03
| | | | fix #11975
* foldcolumn: allow auto:XMatthieu Coudron2020-02-29
| | | | | | | | Similar to signcolumn, allow foldcolumn to adapt itself to the number of folds. Regression: vim supports a maximum fdc of 12, this limits it to 9.
* vim-patch:8.1.0027: difficult to make a plugin that feeds a line to a joberw72020-02-12
| | | | | | Problem: Difficult to make a plugin that feeds a line to a job. Solution: Add the nitial code for the "prompt" buftype. https://github.com/vim/vim/commit/f273245f6433d5d43a5671306b520a3230c35787
* extmarks/bufhl: reimplement using new marktree data structureBjörn Linse2020-01-16
| | | | | | | | | | | | | | | | | | | | Add new "splice" interface for tracking buffer changes at the byte level. This will later be reused for byte-resolution buffer updates. (Implementation has been started, but using undocumented "_on_bytes" option now as interface hasn't been finalized). Use this interface to improve many edge cases of extmark adjustment. Changed tests indicate previously incorrect behavior. Adding tests for more edge cases will be follow-up work (overlaps on_bytes tests) Don't consider creation/deletion of marks an undoable event by itself. This behavior was never documented, and imposes complexity for little gain. Add nvim__buf_add_decoration temporary API for direct access to the new implementation. This should be refactored into a proper API for decorations, probably involving a huge dict. fixes #11598
* vim-patch:8.1.2289: after :diffsplit closing the window does not disable diffJan Edmund Lazo2019-11-16
| | | | | | Problem: After :diffsplit closing the window does not disable diff. Solution: Add "closeoff" to 'diffopt' and add it to the default. https://github.com/vim/vim/commit/c8234779790dd873acb88331c50988adf94cc383
* vim-patch:8.1.1922: in diff mode global operations can be very slowJan Edmund Lazo2019-11-16
| | | | | | | 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. https://github.com/vim/vim/commit/4f57eefe1e84b5a90e08474092ea6fc8825ad5c9
* nsmarks: initial committimeyyy2019-11-11
|
* Remove dead codeJan Edmund Lazo2019-10-06
|
* vim-patch:8.1.2120: some MB_ macros are more complicated than necessaryJan Edmund Lazo2019-10-06
| | | | | | | Problem: Some MB_ macros are more complicated than necessary. (Dominique Pelle) Solution: Simplify the macros. Expand inline. https://github.com/vim/vim/commit/1614a14901558ca091329315d14a7d5e1b53aa47
* getdigits: introduce `strict`, `def` parametersJustin M. Keyes2019-09-13
| | | | | | | | | | | | Problem: During a refactor long ago, we changed the `getdigits_*` familiy of functions to abort on overflow. But this is often wrong, because many of these codepaths are handling user input. Solution: Decide at each call-site whether to use "strict" mode. fix #5555
* includesDaniel Hahler2019-08-07
|
* vim-patch:8.1.0956: context:0 in 'diffopt' #10622Jan Edmund Lazo2019-07-27
| | | | | Problem: Using context:0 in 'diffopt' does not work well. Solution: Make zero context do the same as one line context. (closes vim/vim#4005) https://github.com/vim/vim/commit/b9ddda6c2d98d99c09d58145c1b5b4042a8fd92c
* cleanup: remove mch_fopen in favor of os_fopenJustin M. Keyes2019-07-25
|
* vim-patch:8.0.1496: VIM_CLEAR()Justin M. Keyes2019-05-25
| | | | | | | | Problem: Clearing a pointer takes two lines. Solution: Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi, closes #2629) vim-patch:8.0.1481
* PVS/V501: diff.c: silence warningJustin M. Keyes2019-01-18
| | | | | | False positive: vim_fgets has side effects. ref 8586770e1fd8
* PVS/V501: diff.c: silence warningJustin M. Keyes2019-01-05
| | | | | | False positive: vim_fgets has side effects. ref 8586770e1fd8
* PVS/V547: diff.c: xmalloc() never returns NULLJustin M. Keyes2019-01-04
| | | | | | Normally we consider OOM to be fatal, but the diff module has extra functionality to handle OOM in case huge files are compared. Use try_malloc instead of xmalloc in that case.
* PVS/V547: diff.c: Expression is always trueJustin M. Keyes2019-01-04
|
* PVS/V501: diff.c: silence warningJustin M. Keyes2019-01-04
| | | | False positive: vim_fgets has side effects.
* vim-patch:8.1.0562: parsing of 'diffopt' is slightly wrongAnatolii Sakhnik2018-12-09
| | | | | | | | Problem: Parsing of 'diffopt' is slightly wrong. Solution: Fix the parsing and add a test. (Jason Franklin, Christian Brabandt) https://github.com/vim/vim/commit/b6fc72851c45a36a370f9516c68508e47b41c4c1
* vim-patch:8.1.0513: no error for set diffopt+=algorithm:Anatolii Sakhnik2018-12-09
| | | | | | | Problem: No error for set diffopt+=algorithm:. Solution: Check for missing argument. (Hirohito Higashi, closes #3598) https://github.com/vim/vim/commit/d0721058f494143186f66a60151c9634031a8c96
* vim-patch:8.1.0502: internal diff fails when diffing a context diffAnatolii Sakhnik2018-12-09
| | | | | | | Problem: Internal diff fails when diffing a context diff. (Hirohito Higashi) Solution: Only use callback calls with one line. (closes #3581) https://github.com/vim/vim/commit/f080d70a82f3a4477f346d9efcdfaec1bc1e1d58
* vim-patch:8.1.0497: :%diffput changes order of linesAnatolii Sakhnik2018-12-09
| | | | | | | Problem: :%diffput changes order of lines. (Markus Braun) Solution: Do adjust marks when using internal diff. https://github.com/vim/vim/commit/5f57bdcab77bc417ae0357fe8ad6c7259b6d25df
* vim-patch:8.1.0458: ml_get error and crash when using "do"Anatolii Sakhnik2018-12-09
| | | | | | | | Problem: Ml_get error and crash when using "do". Solution: Adjust cursor position also when diffupdate is not needed. (Hirohito Higashi) https://github.com/vim/vim/commit/df77cef92ec034796723ffa3adb12e8b46daa98e
* vim-patch:8.1.0402: the DiffUpdate event isn't triggered for :diffputAnatolii Sakhnik2018-12-09
| | | | | | | Problem: The DiffUpdate event isn't triggered for :diffput. Solution: Also trigger DiffUpdate for :diffget and :diffput. https://github.com/vim/vim/commit/198fa066b2ec011e91012c1a3d85a73df7b93f31
* vim-patch:8.1.0400: using freed memory with :diffgetAnatolii Sakhnik2018-12-09
| | | | | | | Problem: Using freed memory with :diffget. Solution: Skip ex_diffupdate() while updating diffs. (closes #3442) https://github.com/vim/vim/commit/d2b58c0a2c665075a8cfef57db6e1b37d4523e02
* vim-patch:8.1.0397: no event triggered after updating diffsAnatolii Sakhnik2018-12-09
| | | | | | | Problem: No event triggered after updating diffs. Solution: Add the DiffUpdated event. https://github.com/vim/vim/commit/e8fa05b5bc2d6d76bf5af50176a63655d00d1110
* vim-patch:8.1.0395: compiler warning on 64-bit MS-WindowsAnatolii Sakhnik2018-12-09
| | | | | | | Problem: Compiler warning on 64-bit MS-Windows. Solution: Add type cast. (Mike Williams) https://github.com/vim/vim/commit/6e272acc82af900318017061f923e7f66dc7ee7a
* vim-patch:8.1.0394: diffs are not always updated correctlyAnatolii Sakhnik2018-12-09
| | | | | | | Problem: Diffs are not always updated correctly. Solution: When using internal diff update for any changes properly. https://github.com/vim/vim/commit/e3521d9cbb786806eaff106707851d37d2c0ecef
* vim-patch:8.1.0393: not all white space difference options availableAnatolii Sakhnik2018-12-09
| | | | | | | Problem: Not all white space difference options available. Solution: Add "iblank", "iwhiteall" and "iwhiteeol" to 'diffopt'. https://github.com/vim/vim/commit/785fc6567f572b8caefbc89ec29bbd8b801464ae
* vim-patch:8.1.0375: cannot use diff mode with Cygwin diff.exeAnatolii Sakhnik2018-12-09
| | | | | | | Problem: Cannot use diff mode with Cygwin diff.exe. (Igor Forca) Solution: Skip over unrecognized lines in the diff output. https://github.com/vim/vim/commit/3b8defd0a52fc1276816608e7bb24b628ab14c2e
* 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
* Remove has_mbyte from lines near changes in parent commitZviRackover2018-08-16
|
* Remove occurences of mb_head_offZviRackover2018-08-15
|
* vim-patch:8.0.1361: some users don't want to diff with hidden buffersJan Edmund Lazo2018-08-11
| | | | | | Problem: Some users don't want to diff with hidden buffers. Solution: Add the "hiddenoff" item to 'diffopt'. (Alisue, closes vim/vim#2394) https://github.com/vim/vim/commit/97ce419201421f65f4764549ed80307a7ef9c7a6
* diff: drop enc_utf8 check in diff_equal_char()Jan Edmund Lazo2018-08-11
| | | | enc_utf8 is always true for nvim.
* vim-patch:8.0.1046: code duplication in diff modeJan Edmund Lazo2018-08-11
| | | | | | Problem: Code duplication in diff mode. Solution: Use diff_equal_char() also in diff_cmp(). (Rick Howe) https://github.com/vim/vim/commit/ae96b8d058cffd9d07b78cb7a9ccd382185b9dd6
* vim-patch:8.0.1037: "icase" of 'diffopt' is not used for highlightingJan Edmund Lazo2018-08-11
| | | | | | Problem: "icase" of 'diffopt' is not used for highlighting differences. Solution: Also use "icase". (Rick Howe) https://github.com/vim/vim/commit/da22b8cc8b1b96fabd5a4c35c57b04a351340fb1
* fold: add const to hasFoldingWin() variablesJan Edmund Lazo2018-08-02
| | | | cache is bool so update callers to pass true/false, not TRUE/FALSE.
* diff: refactor diff_a_works to use TriStateJan Edmund Lazo2018-08-01
|
* API: Implement buffer updatesPeter Hodge2018-05-23
| | | | | Originally written by @phodge in https://github.com/neovim/neovim/pull/5269.
* diff: Fix PVS/V547: remove no longer needed OOM handlerZyX2018-04-10
|
* vim-patch:8.0.0736: OptionSet not triggered when entering diff modeJustin M. Keyes2018-02-11
| | | | | | | | | Problem: The OptionSet autocommand event is not triggered when entering diff mode. Solution: use set_option_value() instead of setting the option directly. Change the tests from old to new style. (Christian Brabandt) https://github.com/vim/vim/commit/04f62f881c5743d2fdaf7324f6a715381f0d5fcf
* exit: annotate FUNC_ATTR_NORETURN functions #7954 (#7954)Justin M. Keyes2018-02-07
| | | | This should fix a particular false positive from clang 5.0.0 scan-build, which thinks that nlua_init() can continue after preserve_exit().
* vim-patch:8.0.0448: some macros are lower case (#7936)KunMing Xie2018-01-30
| | | | | | | Problem: Some macros are in lower case, which can be confusing. Solution: Make a few lower case macros upper case. https://github.com/vim/vim/commit/b5aedf3e228d35821591da9ae8501b61cf2e264c ref #6297
* ex_diffpatch: don't need redraw_later(CLEAR), Nvim uses pipesJustin M. Keyes2018-01-28
|
* vim-patch:8.0.0444: diffpatch fails when the file name has a quoteJustin M. Keyes2018-01-21
| | | | | | | Problem: Diffpatch fails when the file name has a quote. Solution: Escape the name properly. (zetzei) https://github.com/vim/vim/commit/a95ab321200f0239991bf53756b17cd7b90745f9