aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/mapping.c
Commit message (Collapse)AuthorAge
* refactor: replace char_u with charDundar Göc2022-09-09
| | | | Work on https://github.com/neovim/neovim/issues/459
* refactor: replace char_u with charDundar Göc2022-09-06
| | | | Work on https://github.com/neovim/neovim/issues/459
* Merge pull request #20038 from bfredl/unflushbfredl2022-09-01
|\ | | | | perf(messages): don't call ui_flush() per message line in various places
| * perf(messages): don't call ui_flush() per message line in various placesbfredl2022-09-01
| | | | | | | | | | | | When msgsep is used, message scrolling is emulated. To make message output fast, inhibit emulated scrolling until the full message text is known
* | fix(maparg): remove double allocation (#20033)zeertzjq2022-09-01
| | | | | | | | ASAN doesn't catch this, as it is referenced by the garbage collector. Also remove a condition that is always true.
* | feat(mapset): support restoring Lua callback (#20024)zeertzjq2022-09-01
|/ | | | | | | vim-patch:9.0.0341: mapset() does not restore <Nop> mapping properly Problem: mapset() does not restore <Nop> mapping properly. Solution: Use an empty string for <Nop>. (closes vim/vim#11022) https://github.com/vim/vim/commit/92a3d20682d46359bb50a452b4f831659e799155
* Merge pull request #20007 from dundargoc/refactor/char_u/5bfredl2022-08-31
|\ | | | | refactor: replace char_u with char 5
| * refactor: replace char_u with charDundar Göc2022-08-31
| | | | | | | | Work on https://github.com/neovim/neovim/issues/459
* | refactor(mappings)!: mapblock_fill_dict() use API Dictionary (#20020)zeertzjq2022-08-31
|/ | | | | | | | | | | This introduces the following breaking changes: - nvim_get_keymap now always returns a LuaRef object as "callback" for a Lua mapping regardless of how it is called. The LuaRef object can be called from Lua and Vim script, but is lost over RPC. - maparg() now returns a Funcref instead of a ref number as "callback" for a Lua mapping. The Funcref can be called from Lua and Vim script, but is lost over RPC. This may also make nvim_get_keymap faster, but make maparg() slower.
* refactor: replace char_u with charDundar Göc2022-08-29
| | | | Work on https://github.com/neovim/neovim/issues/459
* docs: fix typos (#19798)dundargoc2022-08-27
| | | | Co-authored-by: adrian5 <adrian5@users.noreply.github.com> Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
* refactor: replace char_u with charDundar Göc2022-08-26
| | | | Work on https://github.com/neovim/neovim/issues/459
* refactor: replace char_u with charDundar Goc2022-08-25
| | | | Work on https://github.com/neovim/neovim/issues/459
* perf(api): allow to use an arena for return valuesbfredl2022-08-23
|
* vim-patch:8.2.0056: execution stack is incomplete and inefficientzeertzjq2022-08-14
| | | | | | | | | | | Problem: Execution stack is incomplete and inefficient. Solution: Introduce a proper execution stack and use it instead of sourcing_name/sourcing_lnum. Create a string only when used. https://github.com/vim/vim/commit/1a47ae32cdc19b0fd5a82e19fe5fddf45db1a506 Omit test_debugger.vim: superseded by later patches. Omit check_map_keycodes(): N/A. Omit kword_test.c: N/A (converted to a unit test).
* 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
* feat(lua): print source locations of lua callbacks (#19597)ii142022-08-03
| | | Co-authored-by: ii14 <ii14@users.noreply.github.com>
* docs: fix typos (#19588)dundargoc2022-08-03
| | | | Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: notomo <notomo.motono@gmail.com>
* test: improve mapping tests and docs (#19619)zeertzjq2022-08-02
|
* feat(mapset): support restoring "replace_keycodes" and "desc"zeertzjq2022-08-01
|
* vim-patch:8.2.5106: default cmdwin mappings are re-mappablezeertzjq2022-08-01
| | | | | | | Problem: Default cmdwin mappings are re-mappable. Solution: Make the default mappings not re-mappable. (closes vim/vim#10580) Use symbols for the first do_map() argument. https://github.com/vim/vim/commit/44068e97dbd8fc8ebd93113e436a1e37a6bff52c
* vim-patch:8.2.2804: setting buffer local mapping with mapset() changes globalzeertzjq2022-08-01
| | | | | | Problem: Setting buffer local mapping with mapset() changes global mapping. Solution: Only set the local mapping. (closes vim/vim#8143) https://github.com/vim/vim/commit/7ba1e4d363164e32a93cceab64b42e8c6d89e9f3
* vim-patch:8.2.1773: crash when calling mapset() with a list as first argumentzeertzjq2022-08-01
| | | | | | Problem: Crash when calling mapset() with a list as first argument. Solution: Check for NULL. (closes vim/vim#7040) https://github.com/vim/vim/commit/1b9129809d8269acb8e7c79d8fc99c7976b4f76e
* vim-patch:8.2.0815: maparg() does not provide enough information for mapset()zeertzjq2022-08-01
| | | | | | | | | | | | Problem: maparg() does not provide enough information for mapset(). Solution: Add "lhsraw" and "lhsrawalt" items. Drop "simplified" https://github.com/vim/vim/commit/9c65253fe702ea010afec11aa971acd542c35de2 vim-patch:9.0.0127: unused variable Problem: Unused variable. Solution: Remove the variable. (closes vim/vim#10829) https://github.com/vim/vim/commit/e95f22f63a1871b91e5508088e5ae4905ce28cd7
* vim-patch:8.2.0812: mapset() does not properly handle <> notationzeertzjq2022-08-01
| | | | | | Problem: mapset() does not properly handle <> notation. Solution: Convert <> codes. (closes vim/vim#6116) https://github.com/vim/vim/commit/c94c1467b9b86156a6b7c8d3e41ff01c13d2be07
* vim-patch:8.2.0807: cannot easily restore a mappingzeertzjq2022-08-01
| | | | | | | | | | | | | | | | Problem: Cannot easily restore a mapping. Solution: Add mapset(). https://github.com/vim/vim/commit/4c9243f9fb708c9010867d3cc8e928f36b58509a Use MapArgument to reduce number of arguments of map_add(). N/A patches for version.c: vim-patch:8.2.0809: build failure with small features Problem: Build failure with small features. (Tony Mechelynck) Solution: Move "expr" inside #ifdef. https://github.com/vim/vim/commit/5a80f8ad5dc0b2cc63400255dcf3c63f6c1a2ef9
* feat(api): add replace_keycodes to nvim_set_keymap (#19598)ii142022-08-01
|
* refactor: replace char_u with charDundar Goc2022-07-31
| | | | Work on https://github.com/neovim/neovim/issues/459
* refactor: fix clang warnings (#19453)zeertzjq2022-07-21
|
* feat(defaults): mouse=nvi #19290matveyt2022-07-17
| | | | | | | | | | Problem: Since right-click can now show a popup menu, we can provide messaging to guide users who expect 'mouse' to be disabled by default. So 'mouse' can now be enabled by default. Solution: Do it. Closes #15521
* feat(defaults): nnoremap & :&&<CR> #19365Gregory Anders2022-07-15
|
* refactor: replace char_uDundar Goc2022-07-02
| | | | Work on https://github.com/neovim/neovim/issues/459
* vim-patch:9.0.0002: map functionality outside of map.c (#19150)zeertzjq2022-06-29
| | | | | Problem: Map functionality outside of map.c. Solution: Move f_hasmapto() to map.c. Rename a function. (closes vim/vim#10611) https://github.com/vim/vim/commit/c207fd2535717030d78f9b92839e5f2ac004cc78
* refactor(map): simplify add_map paramsbfredl2022-06-28
|
* refactor: replace char_u #18429dundargoc2022-06-28
| | | Work on https://github.com/neovim/neovim/issues/459
* refactor(map): statically initialize maphash arraybfredl2022-06-24
|
* perf(map): avoid extraneous heap allocations when setting mappingsbfredl2022-06-24
| | | | | | - don't immediately vim_strsave and then xfree a heap buffer. - allow replace_termcodes to take in a buffer instead of allocating it - grug! memory allocation bad!
* perf(map): visit only one hash bucket instead of all, like an actual hash tablebfredl2022-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().