aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/edit.c
Commit message (Collapse)AuthorAge
* vim-patch:8.0.1806: InsertCharPre causes problems for autocompleteJan Edmund Lazo2019-09-02
| | | | | | | Problem: InsertCharPre causes problems for autocomplete. (Lifepillar) Solution: Check for InsertCharPre before calling vpeekc(). (Christian Brabandt, closes vim/vim#2876) https://github.com/vim/vim/commit/39de95257714b76ccd845d081cff57830a79b488
* 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
* clang/"null pointer dereference" #10864Ihor Antonov2019-08-27
|
* clang/"dereference of null pointer" #10856Ihor Antonov2019-08-26
| | | In edit.c insert_execute calls ins_compl_addfrommatch
* Merge #10823 from janlazo/vim-8.1.1124Justin M. Keyes2019-08-21
|\
| * edit: add nonnull func attributeJan Edmund Lazo2019-08-21
| |
| * edit: compl_started,compl_used_match are boolJan Edmund Lazo2019-08-21
| |
| * vim-patch:8.1.1124: insert completion flags are mixed upJan Edmund Lazo2019-08-21
| | | | | | | | | | | | Problem: Insert completion flags are mixed up. Solution: Clean up flags use of ins_compl_add() and cp_flags. https://github.com/vim/vim/commit/d9eefe3155277cec71105f52d34a76f7a3237e7f
* | vim-patch:8.1.0888: the a: dict is not immutable as documented (#10819)Abdelhakeem Osama2019-08-21
|/ | | | | | Problem: The a: dict is not immutable as documented. Solution: Make the a:dict immutable, add a test. (Ozaki Kiichi, Yasuhiro Matsumoto, closes vim/vim#3929) https://github.com/vim/vim/commit/31b816042fca879b11965ddd75287732563ba698
* clang/"null pointer dereference" #10776Ihor Antonov2019-08-14
| | | assert(curbuf) in ins_compl_get_exp
* clang/"null pointer dereference" #10755Ihor Antonov2019-08-13
|
* includesDaniel Hahler2019-08-07
|
* Merge #10615 'vim-patch:8.1.0053'Justin M. Keyes2019-07-29
|\ | | | | fix #10604
| * vim-patch:8.1.0053 use typval_T in the caller of call_vim_functioncangscop2019-07-29
| | | | | | | | | | | | Problem: unreliable types for complete function arguments Solution: fix argument type for functions w/ unreliable type conversion(Ozaki Kiichi) vim/vim#2993
| * 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
* | vim-patch:8.1.1138: add CompleteChanged #10644Justin M. Keyes2019-07-29
| | | | | | | | | | | | (This was originally a Neovim patch, but this commit merges some changes from the Vim patch.) https://github.com/vim/vim/commit/d7f246c68cfb97406bcd4b098a2df2d870b3ef92
* | clang/"dead assignments" #10620Bartosz Miera2019-07-29
|/ | | | Also revert possibly-wrong change in f_sign_getplaced() from 652be3cb0040.
* cleanup: remove mch_fopen in favor of os_fopenJustin M. Keyes2019-07-25
|
* Fix missing CursorHoldI events (#3758)Daniel Hahler2019-07-16
| | | Fixes https://github.com/neovim/neovim/issues/3757.
* vim-patch:8.0.1482: using feedkeys() does not work to test completionJan Edmund Lazo2019-06-24
| | | | | | | | Problem: Using feedkeys() does not work to test Insert mode completion. (Lifepillar) Solution: Do not check for typed keys when executing :normal or feedkeys(). Fix thesaurus completion not working when 'complete' is empty. https://github.com/vim/vim/commit/02ae9b4a93deea4993d7abe20485f91f1cce5e36
* vim-patch:8.0.1479: insert mode completion state is confusingJan Edmund Lazo2019-06-23
| | | | | | Problem: Insert mode completion state is confusing. Solution: Move ctrl_x_mode into edit.c. Add CTRL_X_NORMAL for zero. https://github.com/vim/vim/commit/bc0e9adae9c253f36803665180e4b576d1e725ab
* vim-patch:8.1.1055: CTRL-G U in Insert mode doesn't work for shift-LeftJan Edmund Lazo2019-06-23
| | | | | | | | Problem: CTRL-G U in Insert mode doesn't work to avoid splitting the undo sequence for shift-left and shift-right. Solution: Also check dont_sync_undo for shifted cursor keys. (Christian Brabandt) https://github.com/vim/vim/commit/75bf3d22f42684beecd977f3185e98045b5c33d9
* vim-patch:8.1.0242: Insert mode completion may use an invalid buffer pointerJan Edmund Lazo2019-06-23
| | | | | | Problem: Insert mode completion may use an invalid buffer pointer. Solution: Check for ins_buf to be valid. (closes vim/vim#3290) https://github.com/vim/vim/commit/02ab97709d5c56fb7fe42e134bb9fc54f76a1f9f
* 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
* 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
|
* lintJustin M. Keyes2019-05-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
* build: fix warningJustin M. Keyes2019-04-07
|
* vim-patch:8.1.1123: avoid filtering autocompleteroxma2019-04-07
| | | | | | | | | | | Author: roxma <roxma@qq.com> Problem: No way to avoid filtering for autocomplete function, causing flickering of the popup menu. Solution: Add the "equal" field to complete items. (closes vim/vim#3887) https://github.com/vim/vim/commit/73655cf0ca37a9aa8f56fc51bb853a8b1f7b43d4 closes #9566
* PVS/V560: expression is always trueJustin M. Keyes2019-04-01
|
* clang/"null pointer dereference": insert_executeJustin M. Keyes2019-04-01
|
* Merge #9807 from mhinz/window-local-last-cursormovedMarco Hinz2019-03-31
|\
| * cursormoved: make global last_cursormoved window-localMarco Hinz2019-03-29
| | | | | | | | Fixes https://github.com/neovim/neovim/issues/9755
* | autocmd: rename MenuPopupChanged to CompleteChanged #9819Qiming zhao2019-03-31
| |
* | complete_info(): fix null referenceJustin M. Keyes2019-03-30
| |
* | Merge #9815 'vim-patch:8.1.1068: complete_info()'Justin M. Keyes2019-03-30
|\ \ | |/ |/|
| * vim-patch:8.1.1068: cannot get all the information about current completionShougo Matsushita2019-03-30
|/ | | | | | Problem: Cannot get all the information about current completion. Solution: Add complete_info(). (Shougo, Hirohito Higashi, closes vim/vim#4106) https://github.com/vim/vim/commit/fd133323d4e1cc9c0e61c0ce357df4d36ea148e3
* signs: support multiple columns #9295Dan Aloni2019-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | closes #990 closes #9295 - Support for multiple auto-adjusted sign columns. With this change, having more than one sign on a line, and with the 'auto' setting on 'signcolumn', extra columns will shown automatically to accomodate all the existing signs. For example, suppose we have this view: 5147 } 5148 5149 return sign->typenr; 5150 } 5151 } 5152 return 0; 5153 } 5154 We have GitGutter installed, so it tells us about modified lines that are not commmited. So let's change line 5152: 5147 } 5148 5149 return sign->typenr; 5150 } 5151 } ~ 5152 return 0; 5153 } 5154 Now we add a mark over line 5152 using 'ma' in normal mode: 5147 } 5148 5149 return sign->typenr; 5150 } 5151 } a ~ 5152 return 0; 5153 } 5154 Previously, Vim/Nvim would have picked only one of the signs, because there was no support for having multiple signs in a line. - Remove signs from deleted lines. Suppose we have highlights on a group of lines and we delete them: + 6 use std::ops::Deref; --+ 7 use std::borrow::Cow; --+ 8 use std::io::{Cursor}; 9 use proc_macro2::TokenStream; 10 use syn::export::ToTokens; --+ 11 use std::io::Write; >> 12 use std::ops::Deref; Without this change, these signs will momentarily accumulate in the sign column until the plugins wake up to refresh them. + --+ --+ --+ >> 6 Discussion: It may be better to extend the API a bit and allow this to happen for only certain types of signs. For example, VIM marks and vim-gitgutter removal signs may want to be presreved, unlike line additions and linter highlights. - 'signcolumn': support 'auto:NUM' and 'yes:NUM' settings - sort signs according to id, from lowest to highest. If you have git-gutter, vim-signature, and ALE, it would appear in this order: git-gutter - vim-signature - ALE. - recalculate size before screen update - If no space for all signs, prefer the higher ids (while keeping the rendering order from low to high). - Prevent duplicate signs. Duplicate signs were invisible to the user, before using our extended non-standard signcolumn settings. - multi signcols: fix bug related to wrapped lines. In wrapped lines, the wrapped parts of a line did not include the extra columns if they existed. The result was a misdrawing of the wrapped parts. Fix the issue by: 1. initializing the signcol counter to 0 when we are on a wrap boundary 2. allowing for the draw of spaces in that case.
* Allow using internal popupmenu or ext_popupmenu for wildmenuBjörn Linse2019-03-16
| | | | | Deprecate ext_wildmenu. ext_popupmenu already contains more state (anchor position), and will allow further expansion (info about items).
* Merge pull request #9616 from chemzqm/completechangeBjörn Linse2019-03-16
|\ | | | | add MenuPopupChanged autocmd
| * autocmd: add MenuPopupChanged autocmdchemzqm2019-03-15
| | | | | | | | | | | | Update src/nvim/auevents.lua Co-Authored-By: chemzqm <chemzqm@gmail.com>
* | vim-patch:8.1.0728: avoid breaking after single space #9733Jan Edmund Lazo2019-03-15
| | | | | | | | | | Problem: Cannot avoid breaking after a single space. Solution: Add the 'p' flag to 'formatoptions'. (Tom Ryder) https://github.com/vim/vim/commit/c3c3158756ae074052b0db2a3e3a7ba192df5330
* | 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
* edit.c: Disable indent during completionlePerdu2019-03-03
| | | | closes #8345
* cleanup: remove legacy `enc_dbcs` global #9660Justin M. Keyes2019-03-02
|
* 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
* rename ui_is_external to ui_has (#9576)Justin M. Keyes2019-02-03
|
* vim-patch:8.1.0792: bad display if opening cmdline window from Insert completionBjörn Linse2019-02-02
|
* Reduce pum redraws from edit.c by delaying undisplay of pumBjörn Linse2019-02-02
| | | | | This makes it possible for the compositor to compare the old pum with the new position, and only clear what is necessary.