aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ops.c
Commit message (Collapse)AuthorAge
* Merge branch 'master' of https://github.com/neovim/neovim into rahmtmpJosh Rahm2022-08-19
|\
| * vim-patch:8.1.2057: the screen.c file is much too bigLewis Russell2022-08-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The screen.c file is much too big. Solution: Split it in three parts. (Yegappan Lakshmanan, closes vim/vim#4943) https://github.com/vim/vim/commit/7528d1f6b5422750eb778dfb550cfd0b0e540964 This is an approximation vim-patch 8.1.2057. Applying the patch directly isn't feasible since our version of screen.c has diverged too much, however we still introduce drawscreen.c and drawline.c: - screen.c is now a much smaller file used for low level screen functions - drawline.c contains everything needed for win_line() - drawscreen.c contains everything needed for update_screen() Co-authored-by: zeertzjq <zeertzjq@outlook.com>
| * refactor: change pre-decrement/increment to post (#19799)Lewis Russell2022-08-16
| | | | | | Co-authored-by: zeertzjq <zeertzjq@outlook.com>
| * refactor: remove some unused includes (#19747)zeertzjq2022-08-13
| | | | | | | | | | - Remove autocmd.h from fileio.h - Remove normal.h from main.h - Move bufinfo_T from undo_defs.h to undo.c
| * refactor: replace char_u with charDundar Goc2022-08-12
| | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * refactor: use CLEAR_FIELD and CLEAR_POINTER macros (#19709)zeertzjq2022-08-11
| | | | | | | | | | | | | | vim-patch:8.2.0559: clearing a struct is verbose Problem: Clearing a struct is verbose. Solution: Define and use CLEAR_FIELD() and CLEAR_POINTER(). https://github.com/vim/vim/commit/a80faa8930ed5a554beeb2727762538873135e83
* | Fix userreg autocommand firing.Josh Rahm2022-08-19
| | | | | | | | | | | | Before the autocommands TextYankPost was not firing with userregs, now it does. This also fixes the multi-byte encoding of the userreg in the v:event dict.
* | Fix messaging aronud yanking to support multibyte chars.Josh Rahm2022-08-18
| |
* | Set the timestamp for the user registers.Josh Rahm2022-08-18
| |
* | Change a bit about how userreg work.Josh Rahm2022-08-18
| | | | | | | | | | | | | | | | | | | | | | * The userreg function can now return a list. If a list is returned, the yankreg will be set to kMTLineWise, and each element in the list will become a line in the yankreg. * Use tv_get_string to get strings from typevals. * call tv_free on the tv sent to typval_to_yankreg to properly unref the values.
* | Fix messaging for recording into userregs.Josh Rahm2022-08-10
| |
* | Support for userregs when recording macros.Josh Rahm2022-08-10
| | | | | | | | Still need to address the broken messaging for multibyte characters though.
* | Make userreg system more accurate.Josh Rahm2022-08-07
| | | | | | | | | | | | | | | | Before the userreg system would use just a string, which removes some important information about the yanked text. I.e. was is a "block" yank, etc. So now, the content argument, instead of just a string, is now a dictionary that roughly maps to the yankreg_T data type, allowing userregs to be used in block and line mode.
* | Merge remote-tracking branch 'upstream/master' into rahmJosh Rahm2022-08-03
|\|
| * docs: fix typos (#19588)dundargoc2022-08-03
| | | | | | | | Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: notomo <notomo.motono@gmail.com>
| * refactor: rename function prefix mb to the more accurate utf_cp (#19590)dundargoc2022-08-02
| | | | | | | | | | The "cp" stands for codepoint. Closes https://github.com/neovim/neovim/issues/7401
| * vim-patch:8.2.5013: after text formatting cursor may be in an invalid positionzeertzjq2022-08-02
| | | | | | | | | | | | Problem: After text formatting the cursor may be in an invalid position. Solution: Correct the cursor position after formatting. https://github.com/vim/vim/commit/78d52883e10d71f23ab72a3d8b9733b00da8c9ad
| * Merge pull request #19437 from dundargoc/refactor/char_u-to-charbfredl2022-07-31
| |\ | | | | | | refactor: replace char_u with char
| | * refactor: replace char_u with charDundar Goc2022-07-31
| | | | | | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * | vim-patch:9.0.0118: no test for what patch 9.0.0155 fixeszeertzjq2022-07-31
| | | | | | | | | | | | | | | | | | Problem: No test for what patch 9.0.0155 fixes. Solution: Add a test. Fix typos. (closes vim/vim#10822) https://github.com/vim/vim/commit/750209459c9e54030409afe8f4ad59570600b5c4
| * | vim-patch:9.0.0114: the command line takes up space even when not usedShougo Matsushita2022-07-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The command line takes up space even when not used. Solution: Allow for 'cmdheight' to be set to zero. (Shougo Matsushita, closes vim/vim#10675, closes vim/vim#940) https://github.com/vim/vim/commit/f39cfb72629f3e7fefaf578a3faa2619cd0654f8 Omit win_redr_ruler() change: winbar may still need redraw. Omit win_update() changes: Nvim doesn't use `Rows` there. Omit redraw_asap(): removed.
| * | cmdheight=0: fix bugs part2 (#19185)Shougo2022-07-31
| |/
* | Merge remote-tracking branch 'upstream/master' into rahmJosh Rahm2022-07-18
|\|
| * vim-patch:7.4.212zeertzjq2022-07-06
| | | | | | | | | | | | | | Problem: Now that the +visual feature is always enabled the #ifdefs for it are not useful. Solution: Remove the checks for FEAT_VISUAL. https://github.com/vim/vim/commit/f7ff6e85e8a4e84cff023f5db4b66ef85986605a
| * vim-patch:8.2.3980: if 'operatorfunc' invokes an operator Visual mode is changedzeertzjq2022-07-05
| | | | | | | | | | | | | | | | Problem: If 'operatorfunc' invokes an operator the remembered Visual mode may be changed. (Naohiro Ono) Solution: Save and restore the information for redoing the Visual area. (closes vim/vim#9455) https://github.com/vim/vim/commit/b3bd1d39e68e2d697c014b9f85482c2c12a3f909
| * vim-patch:8.2.3644: count for 'operatorfunc' in Visual mode is not redonezeertzjq2022-07-05
| | | | | | | | | | | | | | | | Problem: Count for 'operatorfunc' in Visual mode is not redone. Solution: Add the count to the redo buffer. (closes vim/vim#9174) https://github.com/vim/vim/commit/2228cd72cf7c6f326e4e41179e88d37595ca4abc Cherry-pick a line from patch 8.2.0522.
| * vim-patch:8.2.3754: undesired changing of the indent of the first formatted linezeertzjq2022-07-05
| | | | | | | | | | | | Problem: Undesired changing of the indent of the first formatted line. Solution: Do not indent the first formatted line. https://github.com/vim/vim/commit/ecabb511074b3f56cdd5067553c947a291d04e17
| * vim-patch:8.2.3615: wrong indent in first line if re-formatting with indent exprzeertzjq2022-07-05
| | | | | | | | | | | | | | | | Problem: When re-formatting with an indent expression the first line of a paragraph may get the wrong indent. (Martin F. Krafft) Solution: Apply the correct indenting function for the first line. (Christian Brabandt, closes vim/vim#9150, closes vim/vim#9056) https://github.com/vim/vim/commit/818ff25cd1aabf60b9cd239da2f1328a959954f7
| * refactor: replace char_uDundar Goc2022-07-02
| | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * cmdheight=0: fix bugs #18961Shougo2022-06-30
| | | | | | | | | | | | | | | | | | | | | | | | Continue of #16251 Fix #18953 Fix #18960 Fix #18958 Fix #18955 Fix #18970 Fix #18983 Fix #18995 Fix #19112
| * vim-patch:9.0.0011: reading beyond the end of the line with put command (#19166)zeertzjq2022-06-30
| | | | | | | | | | Problem: Reading beyond the end of the line with put command. Solution: Adjust the end mark position. https://github.com/vim/vim/commit/d25f003342aca9889067f2e839963dfeccf1fe05
| * refactor: replace char_u #18429dundargoc2022-06-28
| | | | | | Work on https://github.com/neovim/neovim/issues/459
| * perf(highlight): use binary search to lookup RGB color namesbfredl2022-06-23
| |
| * docs: fix typos (#18866)dundargoc2022-06-15
| | | | | | | | | | | | | | docs: fix typos and similarly insignificant changes Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: smjonas <jonas.strittmatter@gmx.de> Co-authored-by: kanreki <32443233+kanreki@users.noreply.github.com>
| * vim-patch:8.2.1898: command modifier parsing always uses global cmdmodzeertzjq2022-06-14
| | | | | | | | | | | | Problem: Command modifier parsing always uses global cmdmod. Solution: Pass in cmdmod_T to use. Rename struct fields consistently. https://github.com/vim/vim/commit/e10044015841711b989f9a898d427bcc1fdb4c32
| * feat: cmdheight=0 #16251Shougo2022-06-13
| | | | | | | | | | | | | | | | | | Fix https://github.com/neovim/neovim/issues/1004 Limitation: All outputs need hit-enter prompt. Related: https://github.com/neovim/neovim/pull/6732 https://github.com/neovim/neovim/pull/4382
| * refactor: change type of linenr_T from long to int32_tDundar Goc2022-06-10
| | | | | | | | | | | | | | | | | | | | | | | | | | The size of long varies depending on architecture, in contrast to the MAXLNUM constant which sets the maximum allowable number of lines to 2^32-1. This discrepancy may lead to hard to detect bugs, for example https://github.com/neovim/neovim/issues/18454. Setting linenr_T to a fix maximum size of 2^32-1 will prevent this type of errors in the future. Also change the variables `amount` and `amount_after` to be linenr_T since they're referring to "the line number difference" between two texts.
| * refactor(ops): doxygen docstrings #17743dundargoc2022-06-09
| |
| * vim-patch:8.2.5016: access before start of text with a put command (#18742)zeertzjq2022-05-26
| | | | | | | | | | Problem: Access before start of text with a put command. Solution: Check the length is more than zero. https://github.com/vim/vim/commit/2a585c85013be22f59f184d49612074fd9b115d7
| * refactor(uncrustify): set maximum number of consecutive newlines to 2 (#18695)dundargoc2022-05-25
| |
| * refactor!: delete insertmode (#18547)Gregory Anders2022-05-22
| | | | | | | | | | | | | | Neovim already removed `evim` (or any similar flags). The 'insertmode' option is a weird remnant, so get rid of it. The 'insertmode' option is replaced with a script that closely emulates the option. This script is documented at :help 'insertmode'
| * vim-patch:8.1.0535: increment/decrement might get interrupted by updating foldszeertzjq2022-05-22
| | | | | | | | | | | | | | Problem: Increment/decrement might get interrupted by updating folds. Solution: Disable fold updating for a moment. (Christian Brabandt, closes vim/vim#3599) https://github.com/vim/vim/commit/6b731886ca94d66b9bdedfb7e603af44a6400399
| * refactor: replace char_u variables and functions with charDundar Goc2022-05-16
| | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * vim-patch:8.2.4951: smart indenting done when not enabledzeertzjq2022-05-14
| | | | | | | | | | | | Problem: Smart indenting done when not enabled. Solution: Check option values before setting can_si. (closes vim/vim#10420) https://github.com/vim/vim/commit/de5cf287812510d2c8ffe66b99cf33c4e1a6e6f1
| * refactor: replace char_u variables and functions with charDundar Goc2022-05-11
| | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * vim-patch:8.2.4911: the mode #defines are not clearly named (#18499)zeertzjq2022-05-10
| | | | | | | | | | | | | | | | Problem: The mode #defines are not clearly named. Solution: Prepend MODE_. Renumber them to put the mapped modes first. https://github.com/vim/vim/commit/249591057b4840785c50e41dd850efb8a8faf435 A hunk from the patch depends on patch 8.2.4861, which hasn't been ported yet, but that should be easy to notice.
| * refactor: replace char_u variables and functions with charDundar Goc2022-05-09
| | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * Merge pull request #18425 from dundargoc/refactor/char_u/1bfredl2022-05-07
| |\ | | | | | | refactor: replace char_u variables and functions with char
| | * refactor: replace char_u variables and functions with charDundar Goc2022-05-07
| | | | | | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * | build(clint): remove "function size is too large" warningDundar Goc2022-05-06
| |/ | | | | | | | | | | | | | | This warning is essentially only triggered for ported vim functions. It's unlikely that we'll refactor vim functions solely based on their size since it'd mean we'd greatly deviate from vim, which is a high cost when it comes to importing the vim patches. Thus, this warning only serves as an annoyance and should be removed.