aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-08-02 11:13:22 +0800
committerGitHub <noreply@github.com>2022-08-02 11:13:22 +0800
commit0a049c322fda5f2bb124429086c2713ff99c7142 (patch)
treecda051948c3dbaa29d7cac37d921829eb86ad380 /src
parent9c91d5c61382639c06ca59e6cc2bfda6ba6abf18 (diff)
downloadrneovim-0a049c322fda5f2bb124429086c2713ff99c7142.tar.gz
rneovim-0a049c322fda5f2bb124429086c2713ff99c7142.tar.bz2
rneovim-0a049c322fda5f2bb124429086c2713ff99c7142.zip
test: improve mapping tests and docs (#19619)
Diffstat (limited to 'src')
-rw-r--r--src/nvim/api/buffer.c2
-rw-r--r--src/nvim/api/vim.c23
-rw-r--r--src/nvim/mapping.c9
3 files changed, 16 insertions, 18 deletions
diff --git a/src/nvim/api/buffer.c b/src/nvim/api/buffer.c
index 5e54d0ec9a..1b1a161226 100644
--- a/src/nvim/api/buffer.c
+++ b/src/nvim/api/buffer.c
@@ -932,7 +932,7 @@ Integer nvim_buf_get_changedtick(Buffer buffer, Error *err)
/// @param mode Mode short-name ("n", "i", "v", ...)
/// @param buffer Buffer handle, or 0 for current buffer
/// @param[out] err Error details, if any
-/// @returns Array of maparg()-like dictionaries describing mappings.
+/// @returns Array of |maparg()|-like dictionaries describing mappings.
/// The "buffer" key holds the associated buffer handle.
ArrayOf(Dictionary) nvim_buf_get_keymap(uint64_t channel_id, Buffer buffer, String mode, Error *err)
FUNC_API_SINCE(3)
diff --git a/src/nvim/api/vim.c b/src/nvim/api/vim.c
index dc57841b96..e2f58dba62 100644
--- a/src/nvim/api/vim.c
+++ b/src/nvim/api/vim.c
@@ -1411,7 +1411,7 @@ Dictionary nvim_get_mode(void)
/// Gets a list of global (non-buffer-local) |mapping| definitions.
///
/// @param mode Mode short-name ("n", "i", "v", ...)
-/// @returns Array of maparg()-like dictionaries describing mappings.
+/// @returns Array of |maparg()|-like dictionaries describing mappings.
/// The "buffer" key is always zero.
ArrayOf(Dictionary) nvim_get_keymap(uint64_t channel_id, String mode)
FUNC_API_SINCE(3)
@@ -1423,8 +1423,8 @@ ArrayOf(Dictionary) nvim_get_keymap(uint64_t channel_id, String mode)
///
/// To set a buffer-local mapping, use |nvim_buf_set_keymap()|.
///
-/// Unlike |:map|, leading/trailing whitespace is accepted as part of the {lhs}
-/// or {rhs}. Empty {rhs} is |<Nop>|. |keycodes| are replaced as usual.
+/// Unlike |:map|, leading/trailing whitespace is accepted as part of the {lhs} or {rhs}.
+/// Empty {rhs} is |<Nop>|. |keycodes| are replaced as usual.
///
/// Example:
/// <pre>
@@ -1441,14 +1441,15 @@ ArrayOf(Dictionary) nvim_get_keymap(uint64_t channel_id, String mode)
/// or "!" for |:map!|, or empty string for |:map|.
/// @param lhs Left-hand-side |{lhs}| of the mapping.
/// @param rhs Right-hand-side |{rhs}| of the mapping.
-/// @param opts Optional parameters map: keys are |:map-arguments|, values
-/// are booleans (default false). Accepts all |:map-arguments| as
-/// keys excluding |<buffer>| but including |noremap| and "desc".
-/// Unknown key is an error. "desc" can be used to give a
-/// description to the mapping. When called from Lua, also accepts a
-/// "callback" key that takes a Lua function to call when the
-/// mapping is executed. "replace_keycodes" can be used with "expr"
-/// to replace keycodes, see |nvim_replace_termcodes()|.
+/// @param opts Optional parameters map: keys are |:map-arguments|, values are booleans (default
+/// false). Accepts all |:map-arguments| as keys excluding |<buffer>| but including
+/// |noremap| and "desc". Unknown key is an error.
+/// "desc" can be used to give a description to the mapping.
+/// When called from Lua, also accepts a "callback" key that takes a Lua function to
+/// call when the mapping is executed.
+/// When "expr" is true, "replace_keycodes" (boolean) can be used to replace keycodes
+/// in the resulting string (see |nvim_replace_termcodes()|), and a Lua callback
+/// returning `nil` is equivalent to returning an empty string.
/// @param[out] err Error details, if any.
void nvim_set_keymap(uint64_t channel_id, String mode, String lhs, String rhs, Dict(keymap) *opts,
Error *err)
diff --git a/src/nvim/mapping.c b/src/nvim/mapping.c
index 41ab236676..520a91491a 100644
--- a/src/nvim/mapping.c
+++ b/src/nvim/mapping.c
@@ -1537,9 +1537,6 @@ char_u *eval_map_expr(mapblock_T *mp, int c)
{
char_u *p = NULL;
char_u *expr = NULL;
- pos_T save_cursor;
- int save_msg_col;
- int save_msg_row;
// Remove escaping of K_SPECIAL, because "str" is in a format to be used as
// typeahead.
@@ -1553,9 +1550,9 @@ char_u *eval_map_expr(mapblock_T *mp, int c)
textlock++;
ex_normal_lock++;
set_vim_var_char(c); // set v:char to the typed character
- save_cursor = curwin->w_cursor;
- save_msg_col = msg_col;
- save_msg_row = msg_row;
+ const pos_T save_cursor = curwin->w_cursor;
+ const int save_msg_col = msg_col;
+ const int save_msg_row = msg_row;
if (mp->m_luaref != LUA_NOREF) {
Error err = ERROR_INIT;
Array args = ARRAY_DICT_INIT;