aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/getchar.c
diff options
context:
space:
mode:
authorGregory Anders <greg@gpanders.com>2021-08-16 09:31:14 -0600
committerGitHub <noreply@github.com>2021-08-16 08:31:14 -0700
commit0aa8128aaa9e6f714372f7ea7299f4115de0a962 (patch)
tree4699f46b0c156f06b8d1b8f2bf9d748cc6c40735 /src/nvim/getchar.c
parent7146103be2bc576c273fd9df2f922b6b5ba4c972 (diff)
downloadrneovim-0aa8128aaa9e6f714372f7ea7299f4115de0a962.tar.gz
rneovim-0aa8128aaa9e6f714372f7ea7299f4115de0a962.tar.bz2
rneovim-0aa8128aaa9e6f714372f7ea7299f4115de0a962.zip
feat(defaults): map CTRL-L to search highlights, update diffs #15385
Diffstat (limited to 'src/nvim/getchar.c')
-rw-r--r--src/nvim/getchar.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/nvim/getchar.c b/src/nvim/getchar.c
index f955fe8859..63da6f7922 100644
--- a/src/nvim/getchar.c
+++ b/src/nvim/getchar.c
@@ -4357,18 +4357,23 @@ check_map (
}
-/*
- * Add a mapping "map" for mode "mode".
- * Need to put string in allocated memory, because do_map() will modify it.
- */
-void add_map(char_u *map, int mode)
+/// Add a mapping. Unlike @ref do_map this copies the {map} argument, so
+/// static or read-only strings can be used.
+///
+/// @param map C-string containing the arguments of the map/abbrev command,
+/// i.e. everything except the initial `:[X][nore]map`.
+/// @param mode Bitflags representing the mode in which to set the mapping.
+/// See @ref get_map_mode.
+/// @param nore If true, make a non-recursive mapping.
+void add_map(char_u *map, int mode, bool nore)
{
char_u *s;
char_u *cpo_save = p_cpo;
p_cpo = (char_u *)""; // Allow <> notation
+ // Need to put string in allocated memory, because do_map() will modify it.
s = vim_strsave(map);
- (void)do_map(0, s, mode, FALSE);
+ (void)do_map(nore ? 2 : 0, s, mode, false);
xfree(s);
p_cpo = cpo_save;
}