aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/getchar.c
Commit message (Collapse)AuthorAge
...
* 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.
* revert: "refactor: Remove allow_keys global (#6346)"zeertzjq2022-04-29
|
* vim-patch:8.2.0851: can't distinguish <M-a> from accented "a" in the GUIzeertzjq2022-04-29
| | | | | | Problem: Can't distinguish <M-a> from accented "a" in the GUI. Solution: Use another way to make mapping <C-bslash> work. (closes vim/vim#6163) https://github.com/vim/vim/commit/f4ae6b245a54f11dd967d06b80f30e5abf55fb82
* vim-patch:8.2.0839: dropping modifier when putting a character back in typeaheadzeertzjq2022-04-29
| | | | | | | | | Problem: Dropping modifier when putting a character back in typeahead. Solution: Add modifier to ins_char_typebuf(). (closes vim/vim#6158) https://github.com/vim/vim/commit/b42c0d54279b1fdb79652db0c84171e213458809 Vim's test doesn't seem to work properly as the hit-enter prompt seems to be delayed. Add a Lua screen test.
* feat(edit): insert an unsimplified key using CTRL-SHIFT-Vzeertzjq2022-04-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This marks the following Vim patches as ported: vim-patch:8.1.2333: with modifyOtherKeys CTRL-^ doesn't work Problem: With modifyOtherKeys CTRL-^ doesn't work. Solution: Handle the exception. https://github.com/vim/vim/commit/828ffd596394f714270a01a55fc3f949a8bd9b35 vim-patch:8.1.2350: other text for CTRL-V in Insert mode with modifyOtherKeys Problem: Other text for CTRL-V in Insert mode with modifyOtherKeys. Solution: Convert the Escape sequence back to key as if modifyOtherKeys is not set, and use CTRL-SHIFT-V to get the Escape sequence itself. (closes vim/vim#5254) https://github.com/vim/vim/commit/fc4ea2a72d36de1196a3ce17352e72f8fe90f4bb vim-patch:8.2.2084: CTRL-V U doesn't work to enter a Unicode character Problem: CTRL-V U doesn't work to enter a Unicode character when modifyOtherKeys is effective. (Ken Takata) Solution: Add a flag to get_literal() for the shift key. (closes vim/vim#7413) https://github.com/vim/vim/commit/0684e36a7ee0743f2889698fb8e0e14f7acae423 Omit getcmdkeycmd() change as it depends on Vim patch 8.2.2062, which may introduce a potential breakage.
* vim-patch:8.1.2159: some mappings are listed twicezeertzjq2022-04-29
| | | | | | Problem: Some mappings are listed twice. Solution: Skip mappings duplicated for modifyOtherKeys. (closes vim/vim#5064) https://github.com/vim/vim/commit/fafb4b18cd4aa5897537f53003b31bb83d7362df
* vim-patch:8.1.2145: cannot map <C-H> when modifyOtherKeys is enabledzeertzjq2022-04-29
| | | | | | | | | | | | | Problem: Cannot map <C-H> when modifyOtherKeys is enabled. Solution: Add the <C-H> mapping twice, both with modifier and as 0x08. Use only the first one when modifyOtherKeys has been detected. https://github.com/vim/vim/commit/459fd785e4a8d044147a3f83a5fca8748528aa84 Add REPTERM_NO_SPECIAL instead of REPTERM_SPECIAL because the meaning of "special" is different between Vim and Nvim. Omit seenModifyOtherKeys as Nvim supports attaching multiple UIs. Omit tests as they send terminal codes. Keep the behavior of API functions.
* refactor: add pure attribute to pure functions (#18165)dundargoc2022-04-24
| | | | This will allow the compilers that support the pure attribute to make further optimizations.
* vim-patch:8.2.4722: ending recording with mapping records too much (#18060)zeertzjq2022-04-10
| | | | | | Problem: When a recording is ended with a mapped key that key is also recorded. Solution: Remember the previous last_recorded_len. (closes vim/vim#10122) https://github.com/vim/vim/commit/81b46a6ccd818609e1ca8cd410e26a58428c30ba
* vim-patch:partial:8.1.2333: with modifyOtherKeys CTRL-^ doesn't work (#18048)zeertzjq2022-04-09
| | | | | Problem: With modifyOtherKeys CTRL-^ doesn't work. Solution: Handle the exception. https://github.com/vim/vim/commit/828ffd596394f714270a01a55fc3f949a8bd9b35
* fix(event-loop): check if executed register has endedzeertzjq2022-04-07
|
* fix(input): fix clearing of reg_executingzeertzjq2022-04-07
| | | | vim-patch:8.2.4705
* vim-patch:8.2.{4692,4691,4690}: fix Insert mode <LeftDrag> mapping bug (#17999)zeertzjq2022-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | | vim-patch:8.2.4692: no test for what 8.2.4691 fixes Problem: No test for what 8.2.4691 fixes. Solution: Add a test. Use a more generic sotlution. (closes vim/vim#10090) https://github.com/vim/vim/commit/0f68e6c07aaf62c034a242f183b93c1bb44e7f93 Test cannot be used because it must use test_setmouse(). Use a Lua test. Reverted patches: vim-patch:8.2.4691: solution for <Cmd> in a mapping causes trouble Problem: Solution for <Cmd> in a mapping causes trouble. Solution: Use another solution: put back CTRL-O after reading the <Cmd> sequence. https://github.com/vim/vim/commit/ca9d8d2cb9fc6b9240f2a74ccd36f9d966488294 vim-patch:8.2.4689: using <Cmd> in a mapping does not work for mouse keys Problem: Using <Cmd> in a mapping does not work for mouse keys in Insert mode. (Sergey Vlasov) Solution: When reading the <Cmd> argument do not use the stuff buffer. (closes vim/vim#10080) https://github.com/vim/vim/commit/d0fb2d804183c2786578b4c32ba5b92938f93d0e
* Merge pull request #17987 from leungbk/vim-patch-4402zeertzjq2022-04-04
|\ | | | | vim-patch:8.2.{4639,4402}: missing parenthesis may cause unexpected problems
| * vim-patch:8.2.4402: missing parenthesis may cause unexpected problemsBrian Leung2022-04-03
| | | | | | | | | | | | Problem: Missing parenthesis may cause unexpected problems. Solution: Add more parenthesis is macros. https://github.com/vim/vim/commit/ae6f1d8b14c2f63811ee83ef14e32086fb3e9b83