aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/normal.c
Commit message (Collapse)AuthorAge
...
* vim-patch:8.1.1988: :startinsert! does not work the same way as "A"Jan Edmund Lazo2019-09-06
| | | | | | Problem: :startinsert! does not work the same way as "A". Solution: Use the same code to move the cursor. (closes vim/vim#4896) https://github.com/vim/vim/commit/8d3b51084a5bdcd2ee9e31bc03cba0d16c43d428
* screen: use dedicated message gridBjörn Linse2019-09-01
| | | | | | | | add proper msg_set_pos event, delet win_scroll_over_* make compositor click through unfocusable grids add MsgArea attribute for the message/cmdline area, and add docs and tests
* vim-patch:8.1.0233: "safe" argument of call_vim_function() is always FALSEJan Edmund Lazo2019-08-30
| | | | | | Problem: "safe" argument of call_vim_function() is always FALSE. Solution: Remove the argument. https://github.com/vim/vim/commit/ded27a1febda3db7447958b60a7d791af514d124
* vim-patch:8.1.1890: ml_get error when deleting fold markerJan Edmund Lazo2019-08-19
| | | | | | | | Problem: Ml_get error when deleting fold marker. Solution: Check that the line number is not below the last line. Adjust the fold when deleting the empty line. (Christian Brabandt, closes vim/vim#4834) https://github.com/vim/vim/commit/9a4a8c4d5993c6371486c895a515c2ad351e9aaa
* includesDaniel Hahler2019-08-07
|
* Merge #10645 from janlazo/vim-8.1.0999Justin M. Keyes2019-07-29
|\ | | | | vim-patch:8.1.{1005,1041,1049,1052,1053,1086,1394}
| * vim-patch:8.1.1049: when user tries to exit with CTRL-C message is confusingJan Edmund Lazo2019-07-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: When user tries to exit with CTRL-C message is confusing. Solution: Only mention ":qa!" when there is a changed buffer. (closes vim/vim#4163) https://github.com/vim/vim/commit/a84a3dd6635fcd2e07f510cba6a999585dcc381a vim-patch:8.1.1052: test for CTRL-C message sometimes fails Problem: test for CTRL-C message sometimes fails Solution: Make sure there are no changed buffers. https://github.com/vim/vim/commit/553e5a5c568e7d175b65b0472cd6d9843b25f4c8 vim-patch:8.1.1053: warning for missing return statement Problem: Warning for missing return statement. (Dominique Pelle) Solution: Add return statement. https://github.com/vim/vim/commit/d6c3f1fa2b5e1dd7dc87cf608d72b84ad696b58f
* | Merge #10615 'vim-patch:8.1.0053'Justin M. Keyes2019-07-29
|\ \ | |/ |/| fix #10604
| * vim-patch:8.1.53 use typval_T in the caller of call_vim_functioncangscop2019-07-27
| | | | | | | | | | | | Problem: unreliable types for complete function arguments Solution: fix argument type for functions w/ unreliable type conversion(Ozaki Kiichi) vim/vim#2993
* | TextYankPost: spurious/too-early dispatch during delete #10392Jit2019-07-29
|/ | | | | | Problem: delete-with-register dispatches TextYankPost before updating yank registers Solution: Add flag to op_yank(). Fixes #10225
* vim-patch:8.1.0856: when scrolling a window the cursorline is not always updatedJan Edmund Lazo2019-07-20
| | | | | | | | | Problem: When scrolling a window other than the current one the cursorline highlighting is not always updated. (Jason Franklin) Solution: Call redraw_for_cursorline() after scrolling. Only set w_last_cursorline when drawing the cursor line. Reset the lines to be redrawn also when redrawing the whole window. https://github.com/vim/vim/commit/bbb5f8d4c2cbc5f48556008875f57cbe7fc4ac6c
* refactor: use int for Columns and RowsBjörn Linse2019-07-19
|
* vim-patch:8.1.0686: when 'y' is in 'cpoptions' yanking for the clipboard ↵Jan Edmund Lazo2019-07-15
| | | | | | | | | changes redo Problem: When 'y' is in 'cpoptions' yanking for the clipboard changes redo. Solution: Do not use the 'y' flag when "gui_yank" is TRUE. (Andy Massimino, closes vim/vim#3760) https://github.com/vim/vim/commit/5823f84dd04198994e3e5f2e278a5e315c47d32d
* screen: showcmd should never move the cursorBjörn Linse2019-06-13
| | | | | Also restore the symmetry between grid_puts_line_start and grid_puts_line_flush.
* vim-patch:8.1.0213: CTRL-W CR does not work properly in a quickfix windowJan Edmund Lazo2019-06-12
| | | | | | Problem: CTRL-W CR does not work properly in a quickfix window. Solution: Split the window if needed. (Jason Franklin) https://github.com/vim/vim/commit/0a08c63da17dfd93ac2885e3f3f8a083a9b3131c
* doc [ci skip] #10129Justin M. Keyes2019-06-10
| | | - document lua vim.loop #10123
* Merge #10114 from erw7/vim-8.1.1270Justin M. Keyes2019-06-07
|\ | | | | vim-patch:8.1.{0629,1270,1271,1283,1288,1289,1350,1375,1390,1475}
| * vim-patch:8.1.0629: "gn" selects the wrong text with a multi-line matcherw72019-06-04
| | | | | | | | | | | | Problem: "gn" selects the wrong text with a multi-line match. Solution: Get the end position from searchit() directly. (closes vim/vim#3695) https://github.com/vim/vim/commit/5d24a2257e597fd752e33b2c1e9c19cf9114a517
* | normal: Don't exit CTRL-O mode after processing K_EVENTBjörn Linse2019-06-04
|/
* lintJan Edmund Lazo2019-05-26
|
* vim-patch:8.1.0020: cannot tell whether a register is executing or recordingJan Edmund Lazo2019-05-26
| | | | | | | | | Problem: Cannot tell whether a register is being used for executing or recording. Solution: Add reg_executing() and reg_recording(). (Hirohito Higashi, closes vim/vim#2745) Rename the global variables for consistency. Store the register name in reg_executing. https://github.com/vim/vim/commit/0b6d911e5de1a1c10a23d4c2ee1b0275c474a2dd
* lintAndrej Zieger2019-05-26
|
* 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
* lintJan Edmund Lazo2019-05-23
|
* vim-patch:8.1.1373: "[p" in Visual mode puts in wrong lineJan Edmund Lazo2019-05-23
| | | | | | | Problem: "[p" in Visual mode puts in wrong line. Solution: Call nv_put() instead of duplicating the functionality. (closes vim/vim#4408) https://github.com/vim/vim/commit/0ab190c05706b1c72e6e2ca4d990febfa81cf886
* vim-patch:8.0.0647: syntax highlighting can make cause a freezeJan Edmund Lazo2019-04-23
| | | | | | Problem: Syntax highlighting can make cause a freeze. Solution: Apply 'redrawtime' to syntax highlighting, per window. https://github.com/vim/vim/commit/06f1ed2f78c5c03af95054fc3a8665df39dec362
* vim-patch:8.0.1411: reading invalid memory with CTRL-W :Jan Edmund Lazo2019-04-10
| | | | | | Problem: Reading invalid memory with CTRL-W :. Solution: Correct the command characters. (closes vim/vim#2469) https://github.com/vim/vim/commit/2efb323e875d2852f63e41c40641760d1d6b069f
* vim-patch:8.0.0725: a terminal window does not handle keyboard inputJan Edmund Lazo2019-04-10
| | | | | | Problem: A terminal window does not handle keyboard input. Solution: Add terminal_loop(). ":term bash -i" sort of works now. https://github.com/vim/vim/commit/938783d0ab5678c259ceb62b15be72abe69362fa
* event-loop: do not set CA_COMMAND_BUSY #9853Justin M. Keyes2019-04-08
| | | | | | | | CA_COMMAND_BUSY in nv_event() was carried over from Vim nv_cursorhold() (ref: e5165bae1139). It prevents :startinsert from working during a RPC call, so remove it. Helped-by: glacambre <me@r4> closes #7254
* cursormoved: make global last_cursormoved window-localMarco Hinz2019-03-29
| | | | Fixes https://github.com/neovim/neovim/issues/9755
* Merge #9662 'vim-patch:8.0.{0643-0646}'Justin M. Keyes2019-03-08
|\
| * vim-patch:8.0.0643: when a pattern search is slow Vim becomes unusableBilly Su2019-03-07
| | | | | | | | | | | | | | | | | | Problem: When 'hlsearch' is set and matching with the last search pattern is very slow, Vim becomes unusable. Cannot quit search by pressing CTRL-C. Solution: When the search times out set a flag and don't try again. Check for timeout and CTRL-C in NFA loop that adds states. https://github.com/vim/vim/commit/fbd0b0af6800f6ff89857863d6a07ea03f09ff6c
* | vim-patch:8.1.0826: too many #ifdefsJan Edmund Lazo2019-03-08
|/ | | | | | Problem: Too many #ifdefs. Solution: Graduate FEAT_VIRTUALEDIT. Adds about 10Kbyte to the code. https://github.com/vim/vim/commit/29ddebef4038d2d2b3bc9d8d3b0109f4046d6fbf
* floats: implement floating windowsBjörn Linse2019-03-02
| | | | Co-Author: Dongdong Zhou <dzhou121@gmail.com>
* vim-patch:8.1.0932: remove Farsi support (#9622)Justin M. Keyes2019-02-17
| | | | | Problem: Farsi support is outdated and unused. Solution: Delete the Farsi support. https://github.com/vim/vim/commit/14184a3133b9a6ee5f711d493c04e41ba4fa7c2f
* ui: implement ext_messagesBjörn Linse2019-02-10
| | | | Co-Author: Dongdong Zhou <dzhou121@gmail.com>
* window/ui: reorganize size variables, fix terminal window size with multigrid.Björn Linse2019-01-27
| | | | | | | wp->w_height_inner now contains the "inner" size, regardless if the window has been drawn yet or not. It should be used instead of wp->w_grid.Rows, for stuff that is not directly related to accessing the allocated grid memory, such like cursor movement and terminal size
* ui: multigrid mouse supportBjörn Linse2019-01-20
|
* PVS/V1028: cast operands, not the resultJustin M. Keyes2019-01-18
|
* clang/"Dead assignment"Justin M. Keyes2019-01-13
|
* display: unify cursorline and concealcursor redraw logicBjörn Linse2019-01-13
| | | | | | | | | | | | | | | | There is various places where 'conceallevel' and 'concealcursor' necessitates additional redraws. This tries to separate the different cases and handle each accordingly: - Share code with 'cursorline' for the common case: vertical move of cursor within the same window (concealcursor not active) - Improve the logic for managing 'concealcursor' and switching modes: test for the case where the new mode behaves differently from the last one. - Clarify the special case for horizontal movement within a line when 'concealcursor' is active, now there is an if-statement only for this and not hidden in larger check mostly for the first point. - Keep the special case for moving between windows as is.
* normal/edit: add missing "need_cursor_line_redraw = false"Björn Linse2019-01-12
| | | | vim-patch:8.1.0726: redrawing specifically for conceal feature
* screen: make update_screen() the only entry point for redrawingBjörn Linse2019-01-11
| | | | | | | | | | | | | | | update_single_line() was only used for 'concealcursor'. But 'cursorline' has very similiar characteristics (redraw both lines on move cursor between lines) and works without its own special entry point to the redraw subsystem. Later on 'concealcursor' and 'cursorline' could share more logic, but for now make the former use standard redrawWinline(). Make sure it is called before update_screen(), so that it is immediately visible. Get rid of update_prepare() and update_finish(), and all issues from them and their callsites not being in sync with changes to update_screen()
* vim-patch:8.1.0648: custom operators can't act upon forced motionPedro L. Ramos2019-01-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Custom operators can't act upon a forced motion. (Christian Wellenbrock) Solution: Add the forced motion to the mode() result. (Christian Brabandt, closes vim/vim#3490) https://github.com/vim/vim/commit/5976f8ff00efcb3e155a89346e44f2ad43d2405a closes #8667 closes #9476 Christian Wellenbrock: > For (most) built in text objects it's possible to force operation on > them to be linewise, for example by using `dVab` (`:h o_V`, > `motion_force`). When using custom text objects (defined as mappings > by plugins for example), this doesn't currently work. > > Example: > > onoremap x viw > > Open a file with a few lines each containing some words. With the > cursor on any word, try: > > 1. `dw` (builtin) deletes some characters > 2. `dVw` (builtin) deletes linewise > 3. `dx` (from mapping) deletes some characters > 4. `dVx` (from mapping) deletes some characters, but should delete > linewise ref: https://github.com/wellle/targets.vim/issues/214 ref: https://gitter.im/neovim/neovim?at=5b379ff7f1664406610e7483
* PVS/V1026: normal.c: signed integer overflowJustin M. Keyes2019-01-05
| | | | | > V1026 The 'curwin->w_curswant' variable is incremented in the loop. > Undefined behavior will occur in case of signed integer overflow.
* Visual: highlight char-at-cursorJustin M. Keyes2019-01-04
| | | | | | | | | | | | | | | Decide whether to highlight the visual-selected character under the cursor, depending on 'guicursor' style: - Highlight if cursor is blinking or non-block (vertical, horiz). - Do NOT highlight if cursor is non-blinking block. Traditionally Vim's visual selection does "reverse mode", which perhaps conflicts with the non-blinking block cursor. But 'guicursor' defaults to a vertical bar for selection=exclusive, and this confuses users who expect to see the text highlighted. closes #8983
* remove check_visual_highlight()Justin M. Keyes2019-01-04
| | | | This check is meaningless, we assume the terminal supports reverse-mode.
* multigrid: Fix lint errorsUtkarsh Maheshwari2018-12-31
|
* multigrid: Allow UIs to set grid size different from window sizeUtkarsh Maheshwari2018-12-31
|
* multigrid: Change screen_* functions to grid_* functionsUtkarsh Maheshwari2018-12-31
|