mirror of
https://github.com/neovim/neovim.git
synced 2024-12-19 10:45:16 -07:00
fbf2c414ad
closes #9136 - Treat empty {rhs} like <Nop> - getchar.c: Pull "repl. MapArg termcodes" into func The "preprocessing code" surrounding the replace_termcodes calls needs to invoke replace_termcodes, and also check if RHS is equal to "<Nop>". To reduce code duplication, factor this out into a helper function. Also add an rhs_is_noop flag to MapArguments; buf_do_map_explicit expects an empty {rhs} string for "<Nop>", but also needs to distinguish that from something like ":map lhs<cr>" where no {rhs} was provided. - getchar.c: Use allocated buffer for rhs in MapArgs Since the MAXMAPLEN limit does not apply to the RHS of a mapping (or else an RHS that calls a really long autoload function from a plugin would be incorrectly rejected as being too long), use an allocated buffer for RHS rather than a static buffer of length MAXMAPLEN + 1. - Mappings LHS and RHS can contain literal space characters, newlines, etc. - getchar.c: replace_termcodes in str_to_mapargs It makes sense to do this; str_to_mapargs is, intuitively, supposed to take a "raw" command string and parse it into a totally "do_map-ready" struct. - api/vim.c: Update lhs, rhs len after replace_termcodes Fixes a bug in which replace_termcodes changes the length of lhs or rhs, but the later search through the mappings/abbreviations hashtables still uses the old length value. This would cause the search to fail erroneously and throw 'E31: No such mapping' errors or 'E24: No such abbreviation' errors. - getchar: Create new map_arguments struct So that a string of map arguments can be parsed into a more useful, more portable data structure. - getchar.c: Add buf_do_map function Exactly the same as the old do_map, but replace the hardcoded references to the global `buf_T* curbuf` with a function parameter so that we can invoke it from nvim_buf_set_keymap. - Remove gettext calls in do_map error handling
58 lines
866 B
Plaintext
58 lines
866 B
Plaintext
# Tools
|
|
.ropeproject/
|
|
# Visual Studio
|
|
/.vs/
|
|
|
|
# Build/deps dir
|
|
/build/
|
|
/cmake-build-debug/
|
|
/dist/
|
|
/.deps/
|
|
/tmp/
|
|
|
|
*.mo
|
|
.*.sw?
|
|
*~
|
|
*.pyc
|
|
*.o
|
|
*.so
|
|
|
|
tags
|
|
|
|
/src/nvim/po/vim.pot
|
|
/src/nvim/po/*.ck
|
|
|
|
# Generated by tests with $NVIM_LOG_FILE set.
|
|
/.nvimlog
|
|
|
|
# Generated by scripts/vim-patch.sh
|
|
/.vim-src/
|
|
|
|
# Generated by old (Vim) tests.
|
|
/src/nvim/testdir/del
|
|
/src/nvim/testdir/test*.out
|
|
/src/nvim/testdir/test*.res
|
|
/src/nvim/testdir/test.log
|
|
/src/nvim/testdir/messages
|
|
/src/nvim/testdir/viminfo
|
|
/src/nvim/testdir/test.ok
|
|
/src/nvim/testdir/*.failed
|
|
/src/nvim/testdir/X*
|
|
/src/nvim/testdir/valgrind.*
|
|
/src/nvim/testdir/.gdbinit
|
|
|
|
# Generated by unit tests.
|
|
/test/includes/post/
|
|
|
|
# Generated by luacheck during `make testlint'
|
|
/test/.luacheckcache
|
|
|
|
# local make targets
|
|
local.mk
|
|
|
|
# runtime/doc
|
|
/runtime/doc/*.html
|
|
/runtime/doc/tags.ref
|
|
/runtime/doc/errors.log
|
|
compile_commands.json
|