Files
neovim/runtime/doc
Yilin Yang fbf2c414ad API: nvim_set_keymap, nvim_del_keymap #9924
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
2019-05-12 11:44:48 +02:00
..
2018-10-29 09:55:07 +01:00
2019-04-08 03:42:21 +02:00
2019-04-08 03:42:21 +02:00
2019-04-08 03:42:21 +02:00
doc
2019-05-11 23:42:55 +02:00
doc
2019-05-11 23:42:55 +02:00
2019-04-08 03:42:21 +02:00
2019-04-08 03:42:21 +02:00
2019-05-05 14:05:25 +02:00
2019-02-21 00:06:26 +01:00
2018-10-29 09:55:07 +01:00
2018-10-29 09:32:29 +01:00
2018-10-29 10:01:44 +01:00
2018-10-29 09:55:07 +01:00
2019-01-26 20:38:14 +01:00
2018-10-29 09:55:07 +01:00
2018-10-29 09:55:07 +01:00
2018-10-29 09:55:07 +01:00
2019-03-26 19:55:33 +01:00
2019-01-26 20:38:14 +01:00
2018-10-29 09:55:07 +01:00
2018-08-25 15:25:49 +02:00
2018-08-25 15:25:49 +02:00
2019-03-26 22:56:09 +01:00
2018-10-29 09:55:07 +01:00
2019-04-08 03:42:21 +02:00
2018-10-29 09:55:07 +01:00
doc
2019-04-22 20:56:16 +02:00
2019-03-26 19:55:33 +01:00
2018-10-29 09:55:07 +01:00
2018-10-29 09:55:07 +01:00
2017-11-07 01:27:14 +01:00
doc
2018-11-05 22:45:48 +01:00
2018-10-29 09:55:07 +01:00
2018-10-29 09:55:07 +01:00
2018-10-29 09:55:07 +01:00
2018-10-29 09:55:07 +01:00
2015-08-15 15:25:30 -03:00
2018-10-29 09:55:07 +01:00
2018-10-29 10:01:44 +01:00
2019-04-08 03:42:21 +02:00
2018-10-30 00:02:22 +01:00
2019-03-26 19:55:33 +01:00
2018-10-29 09:55:07 +01:00
2018-10-29 09:55:07 +01:00
2018-11-05 22:45:48 +01:00
2018-10-29 09:55:07 +01:00
2019-04-27 16:19:40 +02:00
2018-10-29 10:01:44 +01:00
2019-01-26 20:38:14 +01:00
2018-10-29 09:55:07 +01:00
2018-10-29 10:01:44 +01:00
doc
2019-05-11 23:42:55 +02:00
2018-10-29 10:01:44 +01:00
2018-10-29 10:01:44 +01:00
2018-10-29 10:01:44 +01:00
2018-10-29 10:01:44 +01:00
2018-10-29 10:01:44 +01:00
2018-10-29 10:01:44 +01:00
2018-10-29 10:01:44 +01:00
2018-10-29 10:01:44 +01:00
2018-10-29 10:01:44 +01:00
2018-10-29 10:01:44 +01:00
2018-10-29 10:01:44 +01:00
2018-10-29 10:01:44 +01:00
2018-10-29 10:01:44 +01:00
2018-10-29 10:01:44 +01:00
2018-10-29 10:01:44 +01:00
2018-10-29 10:01:44 +01:00
2018-10-29 10:01:44 +01:00
2018-10-29 10:01:44 +01:00
2018-10-29 10:01:44 +01:00
2018-10-29 10:01:44 +01:00
2018-10-29 10:01:44 +01:00
2018-10-29 10:01:44 +01:00
2018-10-29 10:01:44 +01:00
2018-10-29 10:01:44 +01:00
2019-03-26 19:55:33 +01:00
2018-10-29 10:01:44 +01:00
2018-10-29 10:01:44 +01:00
2019-05-01 00:18:43 +02:00
2018-10-29 10:01:44 +01:00
2018-10-29 10:01:44 +01:00