From 3c28d1f1d7fac7c4d8764cfce0749ec22dbbbaa3 Mon Sep 17 00:00:00 2001 From: Arun Prakash Jana Date: Thu, 14 Nov 2019 02:55:05 +0530 Subject: Refactor plugin handling --- src/.clang-tidy | 2 +- src/nnn.c | 52 +++++++++++++++++++++++----------------------------- 2 files changed, 24 insertions(+), 30 deletions(-) (limited to 'src') diff --git a/src/.clang-tidy b/src/.clang-tidy index a2815f0..ca00922 100644 --- a/src/.clang-tidy +++ b/src/.clang-tidy @@ -11,5 +11,5 @@ CheckOptions: - key: fuchsia-restrict-system-includes.Includes value: '*,-stdint.h,-stdbool.h' - key: readability-function-size.StatementThreshold - value: '950' + value: '900' ... diff --git a/src/nnn.c b/src/nnn.c index 61963c1..99b216a 100644 --- a/src/nnn.c +++ b/src/nnn.c @@ -4956,8 +4956,6 @@ nochange: } if (sel == SEL_PLUGKEY) { - uchar flag = F_NORMAL; - r = get_input(""); tmp = get_kv_val(plug, NULL, r, PLUGIN_MAX, FALSE); if (!tmp) @@ -4965,9 +4963,8 @@ nochange: if (tmp[0] == '_' && tmp[1]) { xstrlcpy(newpath, ++tmp, PATH_MAX); - flag = F_CLI | F_CONFIRM; spawn(newpath, (ndents ? dents[cur].name : NULL), - NULL, path, flag); + NULL, path, F_CLI | F_CONFIRM); } else { xstrlcpy(rundir, path, PATH_MAX); xstrlcpy(path, plugindir, PATH_MAX); @@ -4978,33 +4975,30 @@ nochange: goto nochange; } - - setdirwatch(); - goto begin; - } - - cfg.runplugin ^= 1; - if (!cfg.runplugin && rundir[0]) { - /* - * If toggled, and still in the plugin dir, - * switch to original directory - */ - if (strcmp(path, plugindir) == 0) { - xstrlcpy(path, rundir, PATH_MAX); - xstrlcpy(lastname, runfile, NAME_MAX); - rundir[0] = runfile[0] = '\0'; - setdirwatch(); - goto begin; + } else { + cfg.runplugin ^= 1; + if (!cfg.runplugin && rundir[0]) { + /* + * If toggled, and still in the plugin dir, + * switch to original directory + */ + if (strcmp(path, plugindir) == 0) { + xstrlcpy(path, rundir, PATH_MAX); + xstrlcpy(lastname, runfile, NAME_MAX); + rundir[0] = runfile[0] = '\0'; + setdirwatch(); + goto begin; + } + break; } - break; - } - xstrlcpy(rundir, path, PATH_MAX); - xstrlcpy(path, plugindir, PATH_MAX); - if (ndents) - xstrlcpy(runfile, dents[cur].name, NAME_MAX); - cfg.runctx = cfg.curctx; - lastname[0] = '\0'; + xstrlcpy(rundir, path, PATH_MAX); + xstrlcpy(path, plugindir, PATH_MAX); + if (ndents) + xstrlcpy(runfile, dents[cur].name, NAME_MAX); + cfg.runctx = cfg.curctx; + lastname[0] = '\0'; + } setdirwatch(); goto begin; case SEL_LAUNCH: -- cgit v1.2.3-70-g09d2