aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/getchar.c
Commit message (Collapse)AuthorAge
...
* feat(tui): recognize keypad keys when using kitty keyboard protocolerw72022-07-04
|
* vim-patch:9.0.0024: may access part of typeahead buf that isn't filledzeertzjq2022-07-03
| | | | | | Problem: May access part of typeahead buf that isn't filled. Solution: Check length of typeahead. https://github.com/vim/vim/commit/af043e12d9e5869c597de40b9a2517ae97ac72e7
* refactor: replace char_u #18429dundargoc2022-06-28
| | | Work on https://github.com/neovim/neovim/issues/459
* refactor(map): statically initialize maphash arraybfredl2022-06-24
|
* refactor: move some mapping-related code to a separate file (#19061)zeertzjq2022-06-23
| | | | | | | | | | | | | | | | | | | This marks the following Vim patches as ported: vim-patch:8.1.1785: map functionality mixed with character input Problem: Map functionality mixed with character input. Solution: Move the map functionality to a separate file. (Yegappan Lakshmanan, closes vim/vim#4740) Graduate the +localmap feature. https://github.com/vim/vim/commit/b66bab381c8ba71fd6e92327d1d34c6f8a65f2a7 vim-patch:8.2.3643: header for source file is outdated Problem: Header for source file is outdated. Solution: Make the header more accurate. (closes vim/vim#9186) https://github.com/vim/vim/commit/a3f83feb63eae5464a620ae793c002eb45f7a838 Also cherry-pick a change for <unique> mappings from patch 8.2.0807. Rename map_clear_mode() to do_mapclear().
* fix(input): use correct grid when restoring cursor for <expr> mapping (#19047)zeertzjq2022-06-23
|
* vim-patch:8.2.5076: unnecessary code (#18922)zeertzjq2022-06-11
| | | | | Problem: Unnecessary code. Solution: Remove code and replace with function call. (closes vim/vim#10552) https://github.com/vim/vim/commit/2e7cba347fc8b746add12aa5e0e9f6218a76c788
* fix(input): fix macro recording with ALT and special key (#18917)zeertzjq2022-06-10
|
* fix(input): allow Ctrl-C to interrupt a recursive mapping even if mapped ↵zeertzjq2022-06-07
| | | | (#18885)
* vim-patch:8.2.5064: no test for what 8.1.0052 fixes (#18881)zeertzjq2022-06-07
| | | | | Problem: No test for what 8.1.0052 fixes. Solution: Add a test. (closes vim/vim#10531) https://github.com/vim/vim/commit/3760bfddc414e4d3e1c4203db8c22e293cf08d09
* vim-patch:8.2.5058: input() does not handle composing characters properly ↵zeertzjq2022-06-06
| | | | | | | | | | (#18872) Problem: input() does not handle composing characters properly. Solution: Use mb_cptr2char_adv() instead of mb_ptr2char_adv(). (closes vim/vim#10527) https://github.com/vim/vim/commit/e3a529bc877909a9eccf792461050b4f6737ed33 Cherry-pick all of Test_input_func() from patch 8.2.0316.
* refactor: correct comments and assertions about mapping rhs <Nop> (#18821)zeertzjq2022-06-01
| | | | | | | | Also avoid referring to mappings as "keymaps" in commands and docs. *map_empty_rhs* *map-empty-rhs* You can create an empty {rhs} by typing nothing after a single CTRL-V (you have to type CTRL-V two times). Unfortunately, you cannot do this in a vimrc file.
* refactor: missing parenthesis may cause unexpected problems (#17443)kylo2522022-05-26
| | | related vim-8.2.{4402,4639}
* 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'
* refactor!: remove 'remap' optionDundar Goc2022-05-19
| | | | | An option that should always be kept on except for when working with old Vi scripts is of little use to us.
* refactor: replace char_u variables and functions with charDundar Goc2022-05-16
| | | | Work on https://github.com/neovim/neovim/issues/459
* revert: "feat(mappings): do not simplify the rhs of a mapping" (#18553)zeertzjq2022-05-13
| | | | This reverts commit 7ac5359143ef25c4c8c0c427d5533f8d5824ed17. This fix can cause more problems than it solves.
* feat(defaults): search selection by * and # in visual mode (#18538)yamatsum2022-05-13
|
* Merge pull request #18489 from dundargoc/refactor/remove-char_ubfredl2022-05-13
|\ | | | | refactor: replace char_u variables and functions with char
| * refactor: replace char_u variables and functions with charDundar Goc2022-05-11
| | | | | | | | Work on https://github.com/neovim/neovim/issues/459
* | refactor: rename keymap.{c,h} to keycodes.{c,h} (#18535)zeertzjq2022-05-12
|/ | | | | | | | Most code in keymap.h is for keycode definitions, while most code in keymap.c is for the parsing and conversion of keycodes. The name "keymap" may also make people think these two files are for mappings, while in fact keycodes are used even when no mappings are involved, so "keycodes" should be a better file name than "keymap".
* 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
* refactor: replace char_u variables and functions with charDundar Goc2022-05-07
| | | | Work on https://github.com/neovim/neovim/issues/459
* refactor: replace char_u variables and functions with charDundar Goc2022-05-05
| | | | Work on https://github.com/neovim/neovim/issues/459
* vim-patch:8.2.4867: listing of mapping with K_SPECIAL is wrong (#18419)zeertzjq2022-05-05
| | | | | | | | | Problem: Listing of mapping with K_SPECIAL is wrong. Solution: Adjust escaping of special characters. (closes vim/vim#10351) https://github.com/vim/vim/commit/ac402f4d64bec6b6efd809fef52f5b34627bf947 Avoid overshadowing. Cherry-pick Test_list_mapping() from Vim patches 8.2.{0148,2994}. Fix rhs_is_noop.
* refactor: replace char_u variables and functions with charDundar Goc2022-05-04
| | | | Work on https://github.com/neovim/neovim/issues/459
* refactor: replace char_u variables and functions with charDundar Goc2022-05-03
| | | | Work on https://github.com/neovim/neovim/issues/459
* vim-patch:8.2.4848: local completion with mappings and simplification not ↵zeertzjq2022-04-30
| | | | | | | | | working Problem: Local completion with mappings and simplification not working. Solution: Fix local completion <C-N>/<C-P> mappings not ignored if keys are not simplified. (closes vim/vim#10323) https://github.com/vim/vim/commit/ee4460306917431d0d17a7cb11c6646f4c6540b6
* vim-patch:8.1.2191: when using modifyOtherKeys CTRL-X mode may not workzeertzjq2022-04-30
| | | | | | Problem: When using modifyOtherKeys CTRL-X mode may not work. Solution: Recognize a control character also in the form with a modifier. https://github.com/vim/vim/commit/88d3d09e07dbe0e3ea450bc554e2aadc451450d2
* fix(input): only disable mapped CTRL-C interrupts when getting input (#18310)zeertzjq2022-04-30
|
* Merge pull request #18162 from dundargoc/refactor/unctustifybfredl2022-04-29
|\ | | | | refactor/uncrustify
| * refactor(uncrustify): change rules to better align with the style guideDundar Goc2022-04-29
| | | | | | | | | | | | | | | | | | | | | | | | | | Add space around arithmetic operators '+' and '-'. Remove space between back-to-back parentheses, i.e. ')(' vs. ') ('. Remove space between '((' or '))' of control statements. Add space between ')' and '{' of control statements. Remove space between function name and '(' on function declaration. Collapse empty blocks between '{' and '}'. Remove newline at the end of the file. Remove newline between 'enum' and '{'. Remove newline between '}' and ')' in a function invocation. Remove newline between '}' and 'while' of 'do' statement.
| * refactor(uncrustify): format all c code under /src/nvim/Dundar Goc2022-04-29
| |
* | feat(mappings): do not simplify the rhs of a mappingzeertzjq2022-04-29
| |
* | feat(mappings): allow special keys and modifiers in <Cmd> mappingzeertzjq2022-04-29
|/
* fix(mappings): fix double-free when unmapping simplifiable Lua mappingzeertzjq2022-04-29
|
* feat(mappings): do not replace existing mapping for simplified formzeertzjq2022-04-29
|
* vim-patch:8.2.4837: modifiers not simplified when timed outzeertzjq2022-04-29
| | | | | | | Problem: Modifiers not simplified when timed out or using feedkeys() with 'n" flag. Solution: Adjust how mapped flag and timeout are used. (closes vim/vim#10305) https://github.com/vim/vim/commit/68a573ce2b996602a86b14d9b258ebb8c657604f
* vim-patch:8.2.4833: failure of mapping not checked forzeertzjq2022-04-29
| | | | | | Problem: Failure of mapping not checked for. Solution: Check return value of ins_typebuf(). (closes vim/vim#10299) https://github.com/vim/vim/commit/12e21e387b5bbc928097abf1c189b7dc665838fc
* vim-patch:8.2.4829: a key may be simplified to NULzeertzjq2022-04-29
| | | | | | | Problem: A key may be simplified to NUL. Solution: Use K_ZERO instead. Use macros instead of hard coded values. (closes vim/vim#10290) https://github.com/vim/vim/commit/17c95d9608370559441bb73941ba6d9a4b6b26bd
* vim-patch:8.2.4828: fix for unmapping simplified key not fully testedzeertzjq2022-04-29
| | | | | | Problem: Fix for unmapping simplified key not fully tested. Solution: Add a test case. (closes vim/vim#10292) https://github.com/vim/vim/commit/abeb09b2c53054513812d1e56716e2a5abe8f354
* vim-patch:8.2.4827: typo in variable namezeertzjq2022-04-29
| | | | | | Problem: Typo in variable name. (Gabriel Dupras) Solution: Rename the variable. https://github.com/vim/vim/commit/87f74106f96737e7b8ceaafe1a131aa718077de6
* vim-patch:8.2.4824: expression is evaluated multiple timeszeertzjq2022-04-29
| | | | | | Problem: Expression is evaluated multiple times. Solution: Evaluate expression once and store the result. (closes vim/vim#10278) https://github.com/vim/vim/commit/23d5770ef5e2f5c6d20d123303b81327045e5a1e
* vim-patch:8.2.4819: unmapping simplified keys also deletes other mappingzeertzjq2022-04-29
| | | | | | Problem: Unmapping simplified keys also deletes other mapping. Solution: Only unmap a mapping with m_simplified set. (closes vim/vim#10270) https://github.com/vim/vim/commit/a4e3332650021921068ef12923b4501c5b9918cb
* vim-patch:8.2.4504: when there is a partially matching map full map may not workzeertzjq2022-04-29
| | | | | | | | | | Problem: When there is a partially matching map and modifyOtherKeys is active a full map may not work. Solution: Only simplify modifiers when there is no matching mapping. (closes vim/vim#8792) https://github.com/vim/vim/commit/196c3850dbe95247f7aa1b0000a5cae625a99ef2 Omit test as it sends terminal codes. Use a Lua test instead.
* vim-patch:8.2.3595: check for signed overflow might not work everywherezeertzjq2022-04-29
| | | | | | Problem: Check for signed overflow might not work everywhere. Solution: Limit to 32 bit int. (closes vim/vim#9043, closes vim/vim#9067) https://github.com/vim/vim/commit/0d5a12ea041c112b06b1aafde38846ae4cff8f4c
* vim-patch:8.2.0919: merging modifier for modifyOtherKeys is done twicezeertzjq2022-04-29
| | | | | | | | | Problem: Merging modifier for modifyOtherKeys is done twice. Solution: Remove the merging done in vgetc(). https://github.com/vim/vim/commit/673fc3e23f09095d17f0095c4323958041b2d0d2 Omit ex_getln.c change as it was removed in patch 8.2.2084, so no_reduce_keys is still not needed in Nvim.
* vim-patch:8.2.0916: mapping with partly modifyOtherKeys code does not workzeertzjq2022-04-29
| | | | | | | | | | | | Problem: Mapping with partly modifyOtherKeys code does not work. Solution: If there is no mapping with a separate modifier include the modifier in the key and then try mapping again. (closes vim/vim#6200) https://github.com/vim/vim/commit/975a880a1389e8ce6dea8d66a7c109140b2f94ec Cherry-pick applicable part of put_string_in_typebuf(). Revert related changes from 10a5825. Use KEYLEN_PART_KEY for incomplete modifier sequence. Omit test as it sends terminal codes. Use a Lua test instead.