From a458b821e66bbb4336ad92b26a3645557a2dc98e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Tue, 22 Nov 2016 14:35:57 +0100 Subject: vis: populate :set option map at startup --- sam.c | 8 ++++++++ vis-cmds.c | 11 ----------- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/sam.c b/sam.c index 641f653..1f2e061 100644 --- a/sam.c +++ b/sam.c @@ -375,6 +375,14 @@ bool sam_init(Vis *vis) { bool ret = true; for (const CommandDef *cmd = cmds; cmd && cmd->name; cmd++) ret &= map_put(vis->cmds, cmd->name, cmd); + + if (!(vis->options = map_new())) + return false; + for (int i = 0; i < LENGTH(options); i++) { + for (const char *const *name = options[i].names; *name; name++) + ret &= map_put(vis->options, *name, &options[i]); + } + return ret; } diff --git a/vis-cmds.c b/vis-cmds.c index b3c1de8..a266bb4 100644 --- a/vis-cmds.c +++ b/vis-cmds.c @@ -79,17 +79,6 @@ static bool parse_bool(const char *s, bool *outval) { static bool cmd_set(Vis *vis, Win *win, Command *cmd, const char *argv[], Cursor *cur, Filerange *range) { - if (!vis->options) { - if (!(vis->options = map_new())) - return false; - for (int i = 0; i < LENGTH(options); i++) { - for (const char *const *name = options[i].names; *name; name++) { - if (!map_put(vis->options, *name, &options[i])) - return false; - } - } - } - if (!argv[1] || argv[3]) { vis_info_show(vis, "Expecting: set option [value]"); return false; -- cgit v1.2.3